X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b5e31cc8e2c4e5399548a637e3b9705d37a19335..2582bcdc9d6f0e8ab66aaf6b43a1f298a7917d69:/src/gtk/frame.cpp diff --git a/src/gtk/frame.cpp b/src/gtk/frame.cpp index 423f779e14..4a43ba6aee 100644 --- a/src/gtk/frame.cpp +++ b/src/gtk/frame.cpp @@ -276,6 +276,8 @@ void wxFrame::DoGetClientSize( int *width, int *height ) const } } #endif // wxUSE_TOOLBAR + if (*height < 0) + *height = 0; } } @@ -384,6 +386,8 @@ void wxFrame::GtkOnSize() int xx = m_miniEdge; int yy = m_miniEdge + m_miniTitle; int ww = m_width - 2*m_miniEdge; + if (ww < 0) + ww = 0; int hh = m_menuBarHeight; if (m_menuBarDetached) hh = wxPLACE_HOLDER; m_frameMenuBar->m_x = xx; @@ -423,6 +427,8 @@ void wxFrame::GtkOnSize() ww = m_toolBarDetached ? wxPLACE_HOLDER : m_frameToolBar->m_width; hh = m_height - 2*m_miniEdge; + if (hh < 0) + hh = 0; client_area_x_offset += ww; } @@ -445,6 +451,10 @@ void wxFrame::GtkOnSize() int client_y = client_area_y_offset + m_miniEdge + m_miniTitle; int client_w = m_width - client_area_x_offset - 2*m_miniEdge; int client_h = m_height - client_area_y_offset- 2*m_miniEdge - m_miniTitle; + if (client_w < 0) + client_w = 0; + if (client_h < 0) + client_h = 0; gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), m_wxwindow, client_x, client_y, client_w, client_h ); @@ -461,6 +471,8 @@ void wxFrame::GtkOnSize() int xx = 0 + m_miniEdge; int yy = m_height - wxSTATUS_HEIGHT - m_miniEdge - client_area_y_offset; int ww = m_width - 2*m_miniEdge; + if (ww < 0) + ww = 0; int hh = wxSTATUS_HEIGHT; m_frameStatusBar->m_x = xx; m_frameStatusBar->m_y = yy; @@ -469,12 +481,6 @@ void wxFrame::GtkOnSize() gtk_pizza_set_size( GTK_PIZZA(m_wxwindow), m_frameStatusBar->m_widget, xx, yy, ww, hh ); - if (GTK_WIDGET_DRAWABLE (m_frameStatusBar->m_widget)) - { - gtk_widget_queue_draw (m_frameStatusBar->m_widget); - // FIXME: Do we really want to force an immediate redraw? - gdk_window_process_updates (m_frameStatusBar->m_widget->window, TRUE); - } } #endif // wxUSE_STATUSBAR