]> git.saurik.com Git - wxWidgets.git/commitdiff
Correct wxTimer bug in wxGTK.
authorRobert Roebling <robert@roebling.de>
Sun, 25 Nov 2001 20:10:46 +0000 (20:10 +0000)
committerRobert Roebling <robert@roebling.de>
Sun, 25 Nov 2001 20:10:46 +0000 (20:10 +0000)
  Correct SetSize bug for certain Toplevel windows in wxMAC.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/timer.cpp
src/gtk1/timer.cpp
src/mac/carbon/window.cpp
src/mac/window.cpp

index f8531ba81c3ffe82d0142ec5c83ef1a20080cd9b..2afdb78df9d716d3fd4dacd2196b2b7e546bc8d0 100644 (file)
@@ -61,6 +61,9 @@ bool wxTimer::Start( int millisecs, bool oneShot )
 {
     (void)wxTimerBase::Start(millisecs, oneShot);
 
+    if (m_tag != -1)
+        gtk_timeout_remove( m_tag );
+
     m_tag = gtk_timeout_add( m_milli, timeout_callback, this );
 
     return TRUE;
index f8531ba81c3ffe82d0142ec5c83ef1a20080cd9b..2afdb78df9d716d3fd4dacd2196b2b7e546bc8d0 100644 (file)
@@ -61,6 +61,9 @@ bool wxTimer::Start( int millisecs, bool oneShot )
 {
     (void)wxTimerBase::Start(millisecs, oneShot);
 
+    if (m_tag != -1)
+        gtk_timeout_remove( m_tag );
+
     m_tag = gtk_timeout_add( m_milli, timeout_callback, this );
 
     return TRUE;
index 11948e733da9c79850b7d48c53f217748e5cd842..b3100bf14edf9532202c841a52add590935d36d8 100644 (file)
@@ -349,7 +349,7 @@ void wxWindowMac::DoGetPosition(int *x, int *y) const
  
     xx = m_x ;
     yy = m_y ;
-    if (GetParent())
+    if (!m_macWindowData && GetParent())
     {
         wxPoint pt(GetParent()->GetClientAreaOrigin());
         xx -= pt.x;
@@ -670,6 +670,7 @@ void wxWindowMac::DoSetSize(int x, int y, int width, int height, int sizeFlags)
     // get the current size and position...
     int currentX, currentY;
     GetPosition(&currentX, &currentY);
+    
     int currentW,currentH;
     GetSize(&currentW, &currentH);
 
index 11948e733da9c79850b7d48c53f217748e5cd842..b3100bf14edf9532202c841a52add590935d36d8 100644 (file)
@@ -349,7 +349,7 @@ void wxWindowMac::DoGetPosition(int *x, int *y) const
  
     xx = m_x ;
     yy = m_y ;
-    if (GetParent())
+    if (!m_macWindowData && GetParent())
     {
         wxPoint pt(GetParent()->GetClientAreaOrigin());
         xx -= pt.x;
@@ -670,6 +670,7 @@ void wxWindowMac::DoSetSize(int x, int y, int width, int height, int sizeFlags)
     // get the current size and position...
     int currentX, currentY;
     GetPosition(&currentX, &currentY);
+    
     int currentW,currentH;
     GetSize(&currentW, &currentH);