Merge branch 'release/1.10.x'

This commit is contained in:
rdb 2023-10-09 17:43:02 +02:00
commit 93a75d8fe2
3 changed files with 40 additions and 17 deletions

View File

@ -366,6 +366,12 @@ if GetHost() == "darwin":
if VERSION is None:
# Take the value from the setup.cfg file.
VERSION = GetMetadataValue('version')
match = re.match(r'^\d+\.\d+(\.\d+)+', VERSION)
if not match:
exit("Invalid version %s in setup.cfg, three digits are required" % (VERSION))
if WHLVERSION is None:
WHLVERSION = VERSION
VERSION = match.group()
if WHLVERSION is None:
WHLVERSION = VERSION
@ -2684,11 +2690,18 @@ template class CheckPandaVersion<void>;
def CreatePandaVersionFiles():
version1=int(VERSION.split(".")[0])
version2=int(VERSION.split(".")[1])
version3=int(VERSION.split(".")[2])
nversion=version1*1000000+version2*1000+version3
if (DISTRIBUTOR != "cmu"):
parts = VERSION.split(".", 2)
version1 = int(parts[0])
version2 = int(parts[1])
version3 = 0
if len(parts) > 2:
for c in parts[2]:
if c.isdigit():
version3 = version3 * 10 + ord(c) - 48
else:
break
nversion = version1 * 1000000 + version2 * 1000 + version3
if DISTRIBUTOR != "cmu":
# Subtract 1 if we are not an official version.
nversion -= 1

View File

@ -215,19 +215,24 @@ is_prepared(PreparedGraphicsObjects *prepared_objects) const {
VertexBufferContext *GeomVertexArrayData::
prepare_now(PreparedGraphicsObjects *prepared_objects,
GraphicsStateGuardianBase *gsg) {
if (_contexts == nullptr) {
if (_contexts != nullptr) {
Contexts::const_iterator ci;
ci = _contexts->find(prepared_objects);
if (ci != _contexts->end()) {
return (*ci).second;
}
} else {
_contexts = new Contexts;
}
Contexts::const_iterator ci;
ci = _contexts->find(prepared_objects);
if (ci != _contexts->end()) {
return (*ci).second;
}
VertexBufferContext *vbc = prepared_objects->prepare_vertex_buffer_now(this, gsg);
if (vbc != nullptr) {
(*_contexts)[prepared_objects] = vbc;
}
else if (_contexts->empty()) {
delete _contexts;
_contexts = nullptr;
}
return vbc;
}

View File

@ -76,19 +76,24 @@ is_prepared(PreparedGraphicsObjects *prepared_objects) const {
BufferContext *ShaderBuffer::
prepare_now(PreparedGraphicsObjects *prepared_objects,
GraphicsStateGuardianBase *gsg) {
if (_contexts == nullptr) {
if (_contexts != nullptr) {
Contexts::const_iterator ci;
ci = _contexts->find(prepared_objects);
if (ci != _contexts->end()) {
return (*ci).second;
}
} else {
_contexts = new Contexts;
}
Contexts::const_iterator ci;
ci = _contexts->find(prepared_objects);
if (ci != _contexts->end()) {
return (*ci).second;
}
BufferContext *vbc = prepared_objects->prepare_shader_buffer_now(this, gsg);
if (vbc != nullptr) {
(*_contexts)[prepared_objects] = vbc;
}
else if (_contexts->empty()) {
delete _contexts;
_contexts = nullptr;
}
return vbc;
}