]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/window.cpp
Added VC++ project files for remaining Gizmo samples
[wxWidgets.git] / src / x11 / window.cpp
index 05a8a767f9fa662f7cf4ba53c43d4815f65b949d..a83a67877cfed6d59a209b3a5cd59d3ef6307401 100644 (file)
@@ -562,8 +562,8 @@ void wxWindowX11::ScrollWindow(int dx, int dy, const wxRect *rect)
     else
     {
         wxRect rect;
-        if (dx < 0) rect.x = cw+dx; else rect.x = s_x;
-        if (dy < 0) rect.y = ch+dy; else rect.y = s_y;
+        if (dx < 0) rect.x = cw+dx + offset.x; else rect.x = s_x;
+        if (dy < 0) rect.y = ch+dy + offset.y; else rect.y = s_y;
         if (dy != 0) rect.width = cw; else rect.width = abs(dx);
         if (dx != 0) rect.height = ch; else rect.height = abs(dy);
     
@@ -636,7 +636,7 @@ void wxWindowX11::DoGetSize(int *x, int *y) const
 
     wxCHECK_RET( xwindow, wxT("invalid window") );
     
-    XSync(wxGlobalDisplay(), False);
+    // XSync(wxGlobalDisplay(), False);
 
     XWindowAttributes attr;
     Status status = XGetWindowAttributes( wxGlobalDisplay(), xwindow, &attr );
@@ -654,7 +654,7 @@ void wxWindowX11::DoGetPosition(int *x, int *y) const
     Window window = (Window) m_mainWidget;
     if (window)
     {
-        XSync(wxGlobalDisplay(), False);
+        // XSync(wxGlobalDisplay(), False);
         XWindowAttributes attr;
         Status status = XGetWindowAttributes(wxGlobalDisplay(), window, & attr);
         wxASSERT(status);
@@ -708,7 +708,7 @@ void wxWindowX11::DoGetClientSize(int *x, int *y) const
 
     if (window)
     {
-        XSync(wxGlobalDisplay(), False);  // Is this really a good idea?
+        // XSync(wxGlobalDisplay(), False);  // Is this really a good idea?
         XWindowAttributes attr;
         Status status = XGetWindowAttributes( wxGlobalDisplay(), window, &attr );
         wxASSERT(status);
@@ -960,6 +960,7 @@ void wxWindowX11::Update()
 {
     if (!m_updateRegion.IsEmpty())
     {
+        //        wxLogDebug("wxWindowX11::Update: %s", GetClassInfo()->GetClassName());
         // Actually send erase events.
         SendEraseEvents();
         
@@ -987,7 +988,7 @@ void wxWindowX11::SendEraseEvents()
         
         wxEraseEvent erase_event( GetId(), &dc );
         erase_event.SetEventObject( this );
-    
+
         if (!GetEventHandler()->ProcessEvent(erase_event))
         {
             Window xwindow = (Window) GetMainWindow();
@@ -1022,9 +1023,8 @@ void wxWindowX11::SendPaintEvents()
     wxPaintEvent paint_event( GetId() );
     paint_event.SetEventObject( this );
     GetEventHandler()->ProcessEvent( paint_event );
-
-    m_updateRegion.Clear();
     
+    m_updateRegion.Clear();
     m_clipPaintRegion = FALSE;
 }
 
@@ -1062,7 +1062,9 @@ void wxWindowX11::OnInternalIdle()
 
     // Set the input focus if couldn't do it before
     if (m_needsInputFocus)
+    {
        SetFocus();
+    }
 }
 
 // ----------------------------------------------------------------------------