fix Gdk-CRITICAL **: IA__gdk_window_get_window_type: assertion 'GDK_IS_WINDOW (window)' failed
This commit is contained in:
parent
3e7ee32ded
commit
35309c8c6c
|
|
@ -313,12 +313,10 @@ EMessageBoxReturn DoMessageBox( const char* lpText, const char* lpCaption, EMess
|
|||
|
||||
gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER_ON_PARENT );
|
||||
gtk_widget_show( window );
|
||||
gtk_grab_add( window );
|
||||
|
||||
while ( loop )
|
||||
gtk_main_iteration();
|
||||
|
||||
gtk_grab_remove( window );
|
||||
gtk_widget_destroy( window );
|
||||
|
||||
return ret;
|
||||
|
|
@ -397,9 +395,9 @@ EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){
|
|||
|
||||
// ---- /vbox ----
|
||||
|
||||
gtk_window_set_modal( GTK_WINDOW( window ), TRUE );
|
||||
gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
|
||||
gtk_widget_show( window );
|
||||
gtk_grab_add( window );
|
||||
|
||||
while ( loop )
|
||||
gtk_main_iteration();
|
||||
|
|
@ -414,7 +412,6 @@ EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){
|
|||
rs->bUseDetail = gtk_toggle_button_get_active( (GtkToggleButton*)check1 ) ? true : false;
|
||||
rs->bDuplicateOnly = gtk_toggle_button_get_active( (GtkToggleButton*)check2 ) ? true : false;
|
||||
|
||||
gtk_grab_remove( window );
|
||||
gtk_widget_destroy( window );
|
||||
|
||||
return ret;
|
||||
|
|
@ -561,7 +558,6 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){
|
|||
gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER_ON_PARENT );
|
||||
gtk_window_set_modal( GTK_WINDOW( window ), TRUE );
|
||||
gtk_widget_show( window );
|
||||
gtk_grab_add( window );
|
||||
|
||||
bool dialogError = TRUE;
|
||||
while ( dialogError )
|
||||
|
|
@ -589,7 +585,6 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){
|
|||
}
|
||||
}
|
||||
|
||||
gtk_grab_remove( window );
|
||||
gtk_widget_destroy( window );
|
||||
|
||||
return ret;
|
||||
|
|
@ -787,9 +782,9 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){
|
|||
ret = eIDCANCEL;
|
||||
|
||||
// +djbob: need our "little" modal loop mars :P
|
||||
gtk_window_set_modal( GTK_WINDOW( window ), TRUE );
|
||||
gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
|
||||
gtk_widget_show( window );
|
||||
gtk_grab_add( window );
|
||||
|
||||
bool dialogError = TRUE;
|
||||
while ( dialogError )
|
||||
|
|
@ -835,7 +830,6 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){
|
|||
}
|
||||
}
|
||||
|
||||
gtk_grab_remove( window );
|
||||
gtk_widget_destroy( window );
|
||||
|
||||
return ret;
|
||||
|
|
@ -1028,9 +1022,9 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){
|
|||
// ----------------- //
|
||||
|
||||
//+djbob
|
||||
gtk_window_set_modal( GTK_WINDOW( window ), TRUE );
|
||||
gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
|
||||
gtk_widget_show( window );
|
||||
gtk_grab_add( window );
|
||||
|
||||
while ( loop )
|
||||
gtk_main_iteration();
|
||||
|
|
@ -1050,7 +1044,6 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){
|
|||
rs->nOrientation = DIRECTION_EW;
|
||||
}
|
||||
|
||||
gtk_grab_remove( window );
|
||||
gtk_widget_destroy( window );
|
||||
|
||||
return ret;
|
||||
|
|
@ -1195,9 +1188,9 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){
|
|||
|
||||
// ----------------- //
|
||||
|
||||
gtk_window_set_modal( GTK_WINDOW( window ), TRUE );
|
||||
gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
|
||||
gtk_widget_show( window );
|
||||
gtk_grab_add( window );
|
||||
|
||||
bool dialogError = TRUE;
|
||||
while ( dialogError )
|
||||
|
|
@ -1226,7 +1219,6 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){
|
|||
}
|
||||
}
|
||||
|
||||
gtk_grab_remove( window );
|
||||
gtk_widget_destroy( window );
|
||||
|
||||
return ret;
|
||||
|
|
@ -1287,14 +1279,13 @@ EMessageBoxReturn DoCTFColourChangeBox(){
|
|||
|
||||
// ---- /vbox ----
|
||||
|
||||
gtk_window_set_modal( GTK_WINDOW( window ), TRUE );
|
||||
gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
|
||||
gtk_widget_show( window );
|
||||
gtk_grab_add( window );
|
||||
|
||||
while ( loop )
|
||||
gtk_main_iteration();
|
||||
|
||||
gtk_grab_remove( window );
|
||||
gtk_widget_destroy( window );
|
||||
|
||||
return ret;
|
||||
|
|
@ -1570,7 +1561,6 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){
|
|||
|
||||
gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER_ON_PARENT );
|
||||
gtk_widget_show( window );
|
||||
gtk_grab_add( window );
|
||||
|
||||
Update_TextureReseter();
|
||||
|
||||
|
|
@ -1627,7 +1617,6 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){
|
|||
}
|
||||
}
|
||||
|
||||
gtk_grab_remove( window );
|
||||
gtk_widget_destroy( window );
|
||||
|
||||
return ret;
|
||||
|
|
@ -1849,10 +1838,9 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){
|
|||
// ---- /hbox ----
|
||||
|
||||
|
||||
|
||||
gtk_window_set_modal( GTK_WINDOW( window ), TRUE );
|
||||
gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
|
||||
gtk_widget_show( window );
|
||||
gtk_grab_add( window );
|
||||
|
||||
bool dialogError = TRUE;
|
||||
while ( dialogError )
|
||||
|
|
@ -1894,7 +1882,6 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){
|
|||
}
|
||||
}
|
||||
|
||||
gtk_grab_remove( window );
|
||||
gtk_widget_destroy( window );
|
||||
|
||||
return ret;
|
||||
|
|
@ -1985,9 +1972,9 @@ EMessageBoxReturn DoMakeChainBox( MakeChainRS* rs ){
|
|||
|
||||
ret = eIDCANCEL;
|
||||
|
||||
gtk_window_set_modal( GTK_WINDOW( window ), TRUE );
|
||||
gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
|
||||
gtk_widget_show( window );
|
||||
gtk_grab_add( window );
|
||||
|
||||
bool dialogError = TRUE;
|
||||
while ( dialogError )
|
||||
|
|
@ -2006,7 +1993,6 @@ EMessageBoxReturn DoMakeChainBox( MakeChainRS* rs ){
|
|||
}
|
||||
}
|
||||
|
||||
gtk_grab_remove( window );
|
||||
gtk_widget_destroy( window );
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ int DoMessageBox( const char* lpText, const char* lpCaption, guint32 uType ){
|
|||
int mode = ( uType & MB_TYPEMASK ), ret, loop = 1;
|
||||
|
||||
window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
|
||||
gtk_window_set_modal( GTK_WINDOW( window ), TRUE );
|
||||
g_signal_connect( G_OBJECT( window ), "delete_event",
|
||||
G_CALLBACK( dialog_delete_callback ), NULL );
|
||||
g_signal_connect( G_OBJECT( window ), "destroy",
|
||||
|
|
@ -179,12 +180,10 @@ int DoMessageBox( const char* lpText, const char* lpCaption, guint32 uType ){
|
|||
}
|
||||
|
||||
gtk_widget_show( window );
|
||||
gtk_grab_add( window );
|
||||
|
||||
while ( loop )
|
||||
gtk_main_iteration();
|
||||
|
||||
gtk_grab_remove( window );
|
||||
gtk_widget_destroy( window );
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -89,13 +89,11 @@ void DoAboutDlg(){
|
|||
G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDOK ) );
|
||||
gtk_widget_set_size_request( button, 60, -1 );
|
||||
|
||||
gtk_grab_add( dlg );
|
||||
gtk_widget_show( dlg );
|
||||
|
||||
while ( loop )
|
||||
gtk_main_iteration();
|
||||
|
||||
gtk_grab_remove( dlg );
|
||||
gtk_widget_destroy( dlg );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -76,14 +76,12 @@ static int DoColor( PackedColour *c ){
|
|||
g_object_set_data( G_OBJECT( dlg ), "ret", &ret );
|
||||
|
||||
gtk_widget_show( dlg );
|
||||
gtk_grab_add( dlg );
|
||||
|
||||
while ( loop )
|
||||
gtk_main_iteration();
|
||||
|
||||
gtk_color_selection_get_current_color( GTK_COLOR_SELECTION( gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG( dlg ) ) ), &clr );
|
||||
|
||||
gtk_grab_remove( dlg );
|
||||
gtk_widget_destroy( dlg );
|
||||
|
||||
if ( ret == IDOK ) {
|
||||
|
|
@ -473,12 +471,10 @@ void DoConfigDialog(){
|
|||
Set3DTransText( translabel );
|
||||
SetClipText( cliplabel );
|
||||
|
||||
gtk_grab_add( dlg );
|
||||
gtk_widget_show( dlg );
|
||||
|
||||
while ( loop )
|
||||
gtk_main_iteration();
|
||||
|
||||
gtk_grab_remove( dlg );
|
||||
gtk_widget_destroy( dlg );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,7 +135,6 @@ int DoLoadPortalFileDialog(){
|
|||
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( check2d ), portals.show_2d );
|
||||
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( check3d ), portals.show_3d );
|
||||
|
||||
gtk_grab_add( dlg );
|
||||
gtk_widget_show( dlg );
|
||||
|
||||
while ( loop )
|
||||
|
|
@ -150,7 +149,6 @@ int DoLoadPortalFileDialog(){
|
|||
portals.show_2d = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( check2d ) ) ? true : false;
|
||||
}
|
||||
|
||||
gtk_grab_remove( dlg );
|
||||
gtk_widget_destroy( dlg );
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ gboolean modal_dialog_delete( GtkWidget *widget, GdkEvent* event, ModalDialog* d
|
|||
}
|
||||
|
||||
EMessageBoxReturn modal_dialog_show( GtkWindow* window, ModalDialog& dialog ){
|
||||
gtk_grab_add( GTK_WIDGET( window ) );
|
||||
gtk_window_set_modal( GTK_WINDOW( window ), TRUE );
|
||||
gtk_widget_show( GTK_WIDGET( window ) );
|
||||
|
||||
dialog.loop = true;
|
||||
|
|
@ -96,7 +96,6 @@ EMessageBoxReturn modal_dialog_show( GtkWindow* window, ModalDialog& dialog ){
|
|||
}
|
||||
|
||||
gtk_widget_hide( GTK_WIDGET( window ) );
|
||||
gtk_grab_remove( GTK_WIDGET( window ) );
|
||||
|
||||
return dialog.ret;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1823,9 +1823,8 @@ void EverySecondTimer_disable(){
|
|||
}
|
||||
}
|
||||
|
||||
gint window_realize_remove_decoration( GtkWidget* widget, gpointer data ){
|
||||
void window_realize_remove_decoration( GtkWidget* widget, gpointer data ){
|
||||
gdk_window_set_decorations( gtk_widget_get_window( widget ), (GdkWMDecoration)( GDK_DECOR_ALL | GDK_DECOR_MENU | GDK_DECOR_MINIMIZE | GDK_DECOR_MAXIMIZE ) );
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
class WaitDialog
|
||||
|
|
@ -1835,10 +1834,11 @@ GtkWindow* m_window;
|
|||
GtkLabel* m_label;
|
||||
};
|
||||
|
||||
WaitDialog create_wait_dialog( const char* title, const char* text ){
|
||||
WaitDialog create_wait_dialog( const char* title, const char* text, bool modal ){
|
||||
WaitDialog dialog;
|
||||
|
||||
dialog.m_window = create_floating_window( title, MainFrame_getWindow() );
|
||||
gtk_window_set_modal( dialog.m_window, modal );
|
||||
gtk_window_set_resizable( dialog.m_window, FALSE );
|
||||
gtk_container_set_border_width( GTK_CONTAINER( dialog.m_window ), 0 );
|
||||
gtk_window_set_position( dialog.m_window, GTK_WIN_POS_CENTER_ON_PARENT );
|
||||
|
|
@ -1916,11 +1916,8 @@ void ScreenUpdates_Disable( const char* message, const char* title ){
|
|||
|
||||
bool isActiveApp = MainFrame_isActiveApp();
|
||||
|
||||
g_wait = create_wait_dialog( title, message );
|
||||
if( !XYWnd::m_mnuDrop || !gtk_widget_get_visible( GTK_WIDGET( XYWnd::m_mnuDrop ) ) ){
|
||||
gtk_grab_add( GTK_WIDGET( g_wait.m_window ) );
|
||||
//globalOutputStream() << "grab grab grab\n";
|
||||
}
|
||||
g_wait = create_wait_dialog( title, message,
|
||||
!XYWnd::m_mnuDrop || !gtk_widget_get_visible( GTK_WIDGET( XYWnd::m_mnuDrop ) ) ); //hack: avoid hiding entity menu, clicked with ctrl, by tex/model loading popup
|
||||
|
||||
if ( isActiveApp ) {
|
||||
gtk_widget_show( GTK_WIDGET( g_wait.m_window ) );
|
||||
|
|
@ -1941,7 +1938,6 @@ void ScreenUpdates_Enable(){
|
|||
EverySecondTimer_enable();
|
||||
//gtk_widget_set_sensitive(GTK_WIDGET(MainFrame_getWindow()), TRUE);
|
||||
|
||||
gtk_grab_remove( GTK_WIDGET( g_wait.m_window ) );
|
||||
destroy_floating_window( g_wait.m_window );
|
||||
g_wait.m_window = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user