Bläddra i källkod

tform: prevent MouseWatcherRegion leave event being fired twice

Fixes #858
rdb 5 år sedan
förälder
incheckning
f98c14c290
1 ändrade filer med 3 tillägg och 0 borttagningar
  1. 3 0
      panda/src/tform/mouseWatcher.cxx

+ 3 - 0
panda/src/tform/mouseWatcher.cxx

@@ -726,6 +726,9 @@ clear_current_regions() {
       MouseWatcherRegion *old_region = (*old_ri);
       MouseWatcherRegion *old_region = (*old_ri);
       old_region->exit_region(param);
       old_region->exit_region(param);
       throw_event_pattern(_leave_pattern, old_region, ButtonHandle::none());
       throw_event_pattern(_leave_pattern, old_region, ButtonHandle::none());
+      if (_preferred_region == old_region) {
+        _preferred_region = nullptr;
+      }
       ++old_ri;
       ++old_ri;
     }
     }