X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce7fe42e848cc0c9058dae906c3a7bded50681e6..27d79a5027bee4f46e57c813d072422065cb1592:/src/gtk/window.cpp diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 462cc9d5d6..d57145134e 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -1649,6 +1649,7 @@ window_scroll_event(GtkWidget*, GdkEventScroll* gdk_event, wxWindow* win) // FIXME: Get these values from GTK or GDK event.m_linesPerAction = 3; + event.m_columnsPerAction = 3; event.m_wheelDelta = 120; // Determine the scroll direction. @@ -1924,6 +1925,12 @@ size_allocate(GtkWidget*, GtkAllocation* alloc, wxWindow* win) if (w < 0) w = 0; if (h < 0) h = 0; } + GtkAllocation a; + gtk_widget_get_allocation(win->m_widget, &a); + // update position for widgets in native containers, such as wxToolBar + // (for widgets in a wxPizza, the values should already be the same) + win->m_x = a.x; + win->m_y = a.y; win->m_useCachedClientSize = true; if (win->m_clientWidth != w || win->m_clientHeight != h) { @@ -1931,8 +1938,6 @@ size_allocate(GtkWidget*, GtkAllocation* alloc, wxWindow* win) win->m_clientHeight = h; // this callback can be connected to m_wxwindow, // so always get size from m_widget->allocation - GtkAllocation a; - gtk_widget_get_allocation(win->m_widget, &a); win->m_width = a.width; win->m_height = a.height; if (!win->m_nativeSizeEvent) @@ -2083,12 +2088,14 @@ void wxWindowGTK::GTKHandleUnrealize() wxWindow *wxWindowBase::DoFindFocus() { +#if wxUSE_MENUS // For compatibility with wxMSW, pretend that showing a popup menu doesn't // change the focus and that it remains on the window showing it, even // though the real focus does change in GTK. extern wxMenu *wxCurrentPopupMenu; if ( wxCurrentPopupMenu ) return wxCurrentPopupMenu->GetInvokingWindow(); +#endif // wxUSE_MENUS wxWindowGTK *focus = gs_pendingFocus ? gs_pendingFocus : gs_currentFocus; // the cast is necessary when we compile in wxUniversal mode