]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/toplevel.cpp
corrected warnings when compiling with -Wall -W
[wxWidgets.git] / src / mac / toplevel.cpp
index f290f8167fdcdc5731c6debef4e1aac82bfb2432..06ed4068548df4bc109e181a9935b9cc4f065949 100644 (file)
 // ----------------------------------------------------------------------------
 
 // list of all frames and modeless dialogs
-wxWindowList wxModelessWindows;
+wxWindowList       wxModelessWindows;
+
+// double click testing
+static   Point     gs_lastWhere;
+static   long      gs_lastWhen = 0;
+
+// cursor stuff
+extern   int       wxBusyCursorCount;
+
 
 // ============================================================================
 // wxTopLevelWindowMac implementation
@@ -245,7 +253,7 @@ void  wxTopLevelWindowMac::MacCreateRealWindow( const wxString& title,
     {
         if ( HasFlag( wxDIALOG_MODAL ) )
         {
-            wclass = kMovableModalWindowClass ;
+            wclass = kDocumentWindowClass ; // kMovableModalWindowClass ;
         }
         else 
         {
@@ -347,10 +355,6 @@ void wxTopLevelWindowMac::Lower()
     ::SendBehind( (WindowRef)m_macWindow , NULL ) ;
 }
 
-Point lastWhere ;
-long lastWhen = 0 ;
-extern int wxBusyCursorCount ;
-
 void wxTopLevelWindowMac::MacFireMouseEvent( WXEVENTREF evr )
 {
     EventRecord *ev = (EventRecord*) evr ;
@@ -397,22 +401,25 @@ void wxTopLevelWindowMac::MacFireMouseEvent( WXEVENTREF evr )
 
     if ( ev->what == mouseDown )
     {
-        if ( ev->when - lastWhen <= GetDblTime() )
+        if ( ev->when - gs_lastWhen <= GetDblTime() )
         {
-            if ( abs( localwhere.h - lastWhere.h ) < 3 || abs( localwhere.v - lastWhere.v ) < 3 )
+            if ( abs( localwhere.h - gs_lastWhere.h ) < 3 && abs( localwhere.v - gs_lastWhere.v ) < 3 )
             {
+                // This is not right if the second mouse down
+                // event occured in a differen window. We
+                // correct this in MacDispatchMouseEvent.
                 if ( controlDown )
                     event.SetEventType(wxEVT_RIGHT_DCLICK ) ;
                 else
                     event.SetEventType(wxEVT_LEFT_DCLICK ) ;
             }
-            lastWhen = 0 ;
+            gs_lastWhen = 0 ;
         }
         else
         {
-            lastWhen = ev->when ;
+            gs_lastWhen = ev->when ;
         }
-        lastWhere = localwhere ;
+        gs_lastWhere = localwhere ;
     }
 
     event.m_x = localwhere.h;
@@ -429,6 +436,7 @@ void wxTopLevelWindowMac::MacFireMouseEvent( WXEVENTREF evr )
         wxTheApp->s_captureWindow->ScreenToClient( &x , &y ) ;
         event.m_x = x ;
         event.m_y = y ;
+        event.SetEventObject( wxTheApp->s_captureWindow ) ;
         wxTheApp->s_captureWindow->GetEventHandler()->ProcessEvent( event ) ;
         
         if ( ev->what == mouseUp )