Author: matt
Date: 2008-02-20 10:17:34 -0800 (Wed, 20 Feb 2008)
New Revision: 6033
Log:
Fixed recursion crash in event handling (STR #1873

Modified:
   branches/branch-1.1/CHANGES
   branches/branch-1.1/src/Fl_mac.cxx

Modified: branches/branch-1.1/CHANGES
===================================================================
--- branches/branch-1.1/CHANGES 2008-02-20 18:10:13 UTC (rev 6032)
+++ branches/branch-1.1/CHANGES 2008-02-20 18:17:34 UTC (rev 6033)
@@ -6,6 +6,7 @@
          STR #1742, STR #1777, STR #1794, STR #1827, STR #1843,
          STR #1796, STR #1815, STR #1726, STR #1753, STR #1855,
          STR #1862, STR #1867, STR #1874)
+       - Fixed recursion crash in event handling (STR #1873)
        - Fixed missing return coe in 'fltk-config' (STR #1875)
        - Fixed inconsistencies with CHANGED flags (STR #1719)
        - Fixed message sent to hidden widgets (STR #1849)

Modified: branches/branch-1.1/src/Fl_mac.cxx
===================================================================
--- branches/branch-1.1/src/Fl_mac.cxx  2008-02-20 18:10:13 UTC (rev 6032)
+++ branches/branch-1.1/src/Fl_mac.cxx  2008-02-20 18:17:34 UTC (rev 6033)
@@ -850,7 +850,7 @@
     if ( !window->parent() ) Fl::handle( FL_HIDE, window);
     break;
   case kEventWindowActivated:
-    if ( window!=activeWindow ) 
+    if ( window->shown() && window!=activeWindow )
     {
       GetWindowClass( fl_xid( window ), &winClass );
       if ( winClass != kHelpWindowClass ) {    // help windows can't get the 
focus!
@@ -899,6 +899,11 @@
 
   fl_os_event = event;
   Fl_Window *window = (Fl_Window*)userData;
+  if ( !window->shown() )
+  {
+    fl_unlock_function();
+    return noErr;
+  }
   Fl::first_window(window);
 
   EventMouseWheelAxis axis;
@@ -954,6 +959,11 @@
   
   fl_os_event = event;
   Fl_Window *window = (Fl_Window*)userData;
+  if ( !window->shown() )
+  {
+    fl_unlock_function();
+    return noErr;
+  }
   Fl::first_window(window);
   Point pos;
   GetEventParameter( event, kEventParamMouseLocation, typeQDPoint, NULL, 
sizeof(Point), NULL, &pos );
@@ -2459,4 +2469,3 @@
 //
 // End of "$Id$".
 //
-

_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit

Reply via email to