X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e89eecdc210a2e12e9bc07b6bfeefc393cf7050..be01a40397e2cadfa1f2bc047e5f52c7123825f5:/src/gtk/window.cpp diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 8ef873305d..206fe6ffd8 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -438,10 +438,16 @@ void wxgtk_combo_size_request_callback(GtkWidget *widget, GtkRequisition entry_req; entry_req.width = 2; entry_req.height = 2; - (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(gcombo->button) )->size_request ) - (gcombo->button, &entry_req ); + (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(gcombo->entry) )->size_request ) + (gcombo->entry, &entry_req ); - requisition->width = w - entry_req.width; + GtkRequisition button_req; + button_req.width = 2; + button_req.height = 2; + (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(gcombo->button) )->size_request ) + (gcombo->button, &button_req ); + + requisition->width = w - button_req.width; requisition->height = entry_req.height; } } @@ -465,7 +471,12 @@ gtk_window_expose_callback( GtkWidget *widget, // time anymore. GtkPizza *pizza = GTK_PIZZA( widget ); - if (gdk_event->window != pizza->bin_window) return FALSE; + if (gdk_event->window != pizza->bin_window) + { + // block expose events on GTK_WIDGET(pizza)->window, + // all drawing is done on pizza->bin_window + return true; + } #if 0 @@ -3752,8 +3763,15 @@ void wxWindowGTK::DoSetToolTip( wxToolTip *tip ) void wxWindowGTK::ApplyToolTip( GtkTooltips *tips, const wxChar *tip ) { - wxString tmp( tip ); - gtk_tooltips_set_tip( tips, GetConnectWidget(), wxGTK_CONV(tmp), (gchar*) NULL ); + if (tip) + { + wxString tmp( tip ); + gtk_tooltips_set_tip( tips, GetConnectWidget(), wxGTK_CONV(tmp), (gchar*) NULL ); + } + else + { + gtk_tooltips_set_tip( tips, GetConnectWidget(), NULL, NULL); + } } #endif // wxUSE_TOOLTIPS