X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2cdb6fdb13211372fbb5cca180f011488cbac93e..a4ee505901f1e38b3673f7f4b608f98d45f07445:/src/x11/window.cpp?ds=sidebyside diff --git a/src/x11/window.cpp b/src/x11/window.cpp index a2ea6261c2..dbd6b97cff 100644 --- a/src/x11/window.cpp +++ b/src/x11/window.cpp @@ -160,6 +160,8 @@ bool wxWindowX11::Create(wxWindow *parent, wxWindowID id, if (pos2.y == wxDefaultCoord) pos2.y = 0; + AdjustForParentClientOrigin(pos2.x, pos2.y); + #if wxUSE_TWO_WINDOWS bool need_two_windows = ((( wxSUNKEN_BORDER | wxRAISED_BORDER | wxSIMPLE_BORDER | wxHSCROLL | wxVSCROLL ) & m_windowStyle) != 0); @@ -674,8 +676,8 @@ void wxWindowX11::ScrollWindow(int dx, int dy, const wxRect *rect) if (dx < 0) s_x += -dx; if (dy < 0) s_y += -dy; - if (dx > 0) d_x = dx + offset.x; - if (dy > 0) d_y = dy + offset.y; + if (dx > 0) d_x += dx + offset.x; + if (dy > 0) d_y += dy + offset.y; XCopyArea( xdisplay, xwindow, xwindow, xgc, s_x, s_y, w, h, d_x, d_y ); @@ -1310,7 +1312,7 @@ void wxWindowX11::OnInternalIdle() // This calls the UI-update mechanism (querying windows for // menu/toolbar/control state information) - if (wxUpdateUIEvent::CanUpdate((wxWindow*) this)) + if (wxUpdateUIEvent::CanUpdate((wxWindow*) this) && IsShown()) UpdateWindowUI(wxUPDATE_UI_FROMIDLE); // Set the input focus if couldn't do it before