X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fcb29b233888f7012ca6cf486c8287f5463787e0..0d045709bcd64c28a155a2a9fb29d95f56a0ff7b:/src/gtk/window.cpp diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 4d3c7dafe9..a9a67e6c68 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -1158,7 +1158,7 @@ gtk_wxwindow_commit_cb (GtkIMContext *context, window, window->m_imData->lastKeyEvent); } - const wxWxCharBuffer data(wxGTK_CONV_BACK(str)); + const wxWxCharBuffer data(wxGTK_CONV_BACK_SYS(str)); if( !data ) return; @@ -1682,7 +1682,11 @@ gtk_window_button_release_callback( GtkWidget *widget, event.SetEventObject( win ); event.SetId( win->GetId() ); - return win->GTKProcessEvent(event); + bool ret = win->GTKProcessEvent(event); + + g_lastMouseEvent = NULL; + + return ret; } //----------------------------------------------------------------------------- @@ -2133,16 +2137,11 @@ void gtk_window_size_callback( GtkWidget *WXUNUSED(widget), if ((client_width == win->m_oldClientWidth) && (client_height == win->m_oldClientHeight)) return; -#if 0 - wxPrintf( wxT("size_allocate ") ); - if (win->GetClassInfo() && win->GetClassInfo()->GetClassName()) - wxPrintf( win->GetClassInfo()->GetClassName() ); - wxPrintf( wxT(" %d %d %d %d\n"), - alloc->x, - alloc->y, - alloc->width, - alloc->height ); -#endif + if ( !client_width && !client_height ) + { + // the window is currently unmapped, don't generate size events + return; + } win->m_oldClientWidth = client_width; win->m_oldClientHeight = client_height; @@ -2552,7 +2551,7 @@ void wxWindowGTK::PostCreation() // FIXME: what should be done here ? } #endif - else + else if ( !IsTopLevel() ) // top level windows use their own callback { // This is needed if we want to add our windows into native // GTK controls, such as the toolbar. With this callback, the