From: Paul Cornett Date: Mon, 31 Oct 2011 05:22:59 +0000 (+0000) Subject: in DoSetSize, only call GetPosition if necessary X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/6d50fadaea498d71f4b59e7f8dbd0b3f7e5f8634 in DoSetSize, only call GetPosition if necessary git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 931b5e8167..c80f776355 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -2523,12 +2523,15 @@ void wxWindowGTK::DoSetSize( int x, int y, int width, int height, int sizeFlags wxASSERT_MSG( (m_widget != NULL), wxT("invalid window") ); wxASSERT_MSG( (m_parent != NULL), wxT("wxWindowGTK::SetSize requires parent.\n") ); - int currentX, currentY; - GetPosition(¤tX, ¤tY); - if (x == -1 && !(sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) - x = currentX; - if (y == -1 && !(sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) - y = currentY; + if ((sizeFlags & wxSIZE_ALLOW_MINUS_ONE) == 0 && (x == -1 || y == -1)) + { + int currentX, currentY; + GetPosition(¤tX, ¤tY); + if (x == -1) + x = currentX; + if (y == -1) + y = currentY; + } AdjustForParentClientOrigin(x, y, sizeFlags); // calculate the best size if we should auto size the window