Selaa lähdekoodia

display: fix assertions when removing window that isn't open yet

rdb 8 vuotta sitten
vanhempi
sitoutus
512f305c12
1 muutettua tiedostoa jossa 4 lisäystä ja 0 poistoa
  1. 4 0
      panda/src/display/graphicsEngine.cxx

+ 4 - 0
panda/src/display/graphicsEngine.cxx

@@ -529,7 +529,11 @@ remove_window(GraphicsOutput *window) {
   // Also check whether it is in _new_windows.
   {
     MutexHolder new_windows_holder(_new_windows_lock, current_thread);
+    size_t old_size = _new_windows.size();
     _new_windows.erase(std::remove(_new_windows.begin(), _new_windows.end(), ptwin), _new_windows.end());
+    if (count == 0 && _new_windows.size() < old_size) {
+      count = 1;
+    }
   }
 
   if (count == 0) {