don't set negative window size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41080 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
cd38dd5ba0
commit
6934602337
@ -350,12 +350,18 @@ void wxTopLevelWindowBase::DoLayout()
|
||||
// for whatever reasons, wxGTK wants to have a small offset - it
|
||||
// probably looks better with it?
|
||||
#ifdef __WXGTK__
|
||||
static const int ofs = 1;
|
||||
const int ofs = 1;
|
||||
clientW -= 2 * ofs;
|
||||
clientH -= 2 * ofs;
|
||||
if (clientW < 0)
|
||||
clientW = 0;
|
||||
if (clientH < 0)
|
||||
clientH = 0;
|
||||
#else
|
||||
static const int ofs = 0;
|
||||
const int ofs = 0;
|
||||
#endif
|
||||
|
||||
child->SetSize(ofs, ofs, clientW - 2*ofs, clientH - 2*ofs);
|
||||
child->SetSize(ofs, ofs, clientW, clientH);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -681,17 +681,25 @@ void wxSplitterWindow::SizeWindows()
|
||||
{
|
||||
w1 = size1;
|
||||
w2 = w - 2*border - sash - w1;
|
||||
h1 =
|
||||
if (w2 < 0)
|
||||
w2 = 0;
|
||||
h2 = h - 2*border;
|
||||
if (h2 < 0)
|
||||
h2 = 0;
|
||||
h1 = h2;
|
||||
x2 = size2;
|
||||
y2 = border;
|
||||
}
|
||||
else // horz splitter
|
||||
{
|
||||
w1 =
|
||||
w2 = w - 2*border;
|
||||
if (w2 < 0)
|
||||
w2 = 0;
|
||||
w1 = w2;
|
||||
h1 = size1;
|
||||
h2 = h - 2*border - sash - h1;
|
||||
if (h2 < 0)
|
||||
h2 = 0;
|
||||
x2 = border;
|
||||
y2 = size2;
|
||||
}
|
||||
|
@ -276,6 +276,8 @@ void wxFrame::DoGetClientSize( int *width, int *height ) const
|
||||
}
|
||||
}
|
||||
#endif // wxUSE_TOOLBAR
|
||||
if (*height < 0)
|
||||
*height = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -915,18 +915,16 @@ void wxTopLevelWindowGTK::DoGetClientSize( int *width, int *height ) const
|
||||
|
||||
if (height)
|
||||
{
|
||||
*height = m_height;
|
||||
|
||||
// mini edge
|
||||
*height -= m_miniEdge*2 + m_miniTitle;
|
||||
*height = m_height - 2 * m_miniEdge + m_miniTitle;
|
||||
if (*height < 0)
|
||||
*height = 0;
|
||||
}
|
||||
if (width)
|
||||
{
|
||||
*width = m_width;
|
||||
|
||||
*width -= m_miniEdge*2;
|
||||
*width = m_width - 2 * m_miniEdge;
|
||||
if (*width < 0)
|
||||
*width = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void wxTopLevelWindowGTK::DoSetClientSize( int width, int height )
|
||||
|
@ -547,6 +547,10 @@ gtk_pizza_size_allocate (GtkWidget *widget,
|
||||
y = allocation->y + border;
|
||||
w = allocation->width - border*2;
|
||||
h = allocation->height - border*2;
|
||||
if (w < 0)
|
||||
w = 0;
|
||||
if (h < 0)
|
||||
h = 0;
|
||||
|
||||
if (GTK_WIDGET_REALIZED (widget))
|
||||
{
|
||||
|
@ -3020,6 +3020,10 @@ void wxWindowGTK::DoGetClientSize( int *width, int *height ) const
|
||||
|
||||
w -= dw;
|
||||
h -= dh;
|
||||
if (w < 0)
|
||||
w = 0;
|
||||
if (h < 0)
|
||||
h = 0;
|
||||
}
|
||||
|
||||
if (width) *width = w;
|
||||
|
Loading…
Reference in New Issue
Block a user