don't send move events for size changes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett 2007-04-23 04:44:51 +00:00
parent 0e795b0597
commit dc89b7bf7b

View File

@ -269,23 +269,24 @@ gtk_frame_delete_callback( GtkWidget *WXUNUSED(widget),
extern "C" { extern "C" {
static gboolean static gboolean
gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), gtk_frame_configure_callback( GtkWidget* widget,
GdkEventConfigure *WXUNUSED(event), GdkEventConfigure *WXUNUSED(event),
wxTopLevelWindowGTK *win ) wxTopLevelWindowGTK *win )
{ {
if (!win->m_hasVMT || !win->IsShown()) if (!win->m_hasVMT || !win->IsShown())
return FALSE; return FALSE;
wxPoint point;
gtk_window_get_position((GtkWindow*)widget, &point.x, &point.y);
int x = 0; if (win->m_x != point.x || win->m_y != point.y)
int y = 0; {
gdk_window_get_root_origin( win->m_widget->window, &x, &y ); win->m_x = point.x;
win->m_x = x; win->m_y = point.y;
win->m_y = y; wxMoveEvent mevent(point, win->GetId());
mevent.SetEventObject( win );
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() ); win->GetEventHandler()->ProcessEvent( mevent );
mevent.SetEventObject( win ); }
win->GetEventHandler()->ProcessEvent( mevent );
return FALSE; return FALSE;
} }
@ -596,7 +597,7 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent,
g_signal_connect (m_widget, "unmap_event", g_signal_connect (m_widget, "unmap_event",
G_CALLBACK (gtk_frame_unmap_callback), this); G_CALLBACK (gtk_frame_unmap_callback), this);
// the only way to get the window size is to connect to this event // for wxMoveEvent
g_signal_connect (m_widget, "configure_event", g_signal_connect (m_widget, "configure_event",
G_CALLBACK (gtk_frame_configure_callback), this); G_CALLBACK (gtk_frame_configure_callback), this);