]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/app.cpp
use wxHashMap, not wxHashTable in wxXPMDecoder
[wxWidgets.git] / src / x11 / app.cpp
index b0cfa2c7390b3b573f5585683caf1269d894ed93..c21c217a82574af1ce79911b25f5c88878ceecd0 100644 (file)
@@ -293,8 +293,17 @@ void wxApp::ProcessXEvent(WXEvent* _event)
     // Find the first wxWindow that corresponds to this event window
     // TODO: may need to translate coordinates from actualWindow
     // to window, if the receiving window != wxWindow window
-    while (window && !(win = wxGetWindowFromTable(window)))
-        window = wxGetWindowParent(window);
+    //    while (window && !(win = wxGetWindowFromTable(window)))
+    //        window = wxGetWindowParent(window);
+
+    // Because we're receiving events after a window
+    // has been destroyed, assume a 1:1 match between
+    // Window and wxWindow, so if it's not in the table,
+    // it must have been destroyed.
+
+    win = wxGetWindowFromTable(window);
+    if (!win)
+       return;
 
     switch (event->type)
     {
@@ -359,6 +368,16 @@ void wxApp::ProcessXEvent(WXEvent* _event)
             }
             return;
         }
+        case ConfigureNotify:
+        {
+            if (win)
+            {
+                wxSizeEvent sizeEvent( wxSize(event->xconfigure.width,event->xconfigure.height), win->GetId() );
+                sizeEvent.SetEventObject( win );
+                
+                win->GetEventHandler()->ProcessEvent( sizeEvent );
+            }
+        }
         case ResizeRequest:
         {
             /* Terry Gitnick <terryg@scientech.com> - 1/21/98