Browse Source

Merge branch 'release/1.9.x'

rdb 10 years ago
parent
commit
1adb0e48f4
2 changed files with 13 additions and 0 deletions
  1. 4 0
      makepanda/makepanda.py
  2. 9 0
      panda/src/glstuff/glGraphicsBuffer_src.cxx

+ 4 - 0
makepanda/makepanda.py

@@ -1237,6 +1237,10 @@ def CompileCxx(obj,src,opts):
             else:
                 cmd += " -fno-exceptions"
 
+                if src.endswith(".mm"):
+                    # Work around Apple compiler bug.
+                    cmd += " -U__EXCEPTIONS"
+
             if 'RTTI' not in opts:
                 # We always disable RTTI on Android for memory usage reasons.
                 if optlevel >= 4 or GetTarget() == "android":

+ 9 - 0
panda/src/glstuff/glGraphicsBuffer_src.cxx

@@ -1626,6 +1626,15 @@ report_my_errors(int line, const char *file) {
 void CLP(GraphicsBuffer)::
 check_host_valid() {
   if ((_host == 0)||(!_host->is_valid())) {
+    _rb_data_size_bytes = 0;
+    if (_rb_context != NULL) {
+      // We must delete this object first, because when the GSG
+      // destructs, so will the tracker that this context is
+      // attached to.
+      _rb_context->update_data_size_bytes(0);
+      delete _rb_context;
+      _rb_context = NULL;
+    }
     _is_valid = false;
     _gsg.clear();
     _host.clear();