X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gtk%2Fxoptions.c;h=68eb638f9c3e7d9d8b399dee9918a89c6a240d27;hb=ce2d2972671ea7eff9dbbe7028718bef4d837dfb;hp=8fb5dcaee1cea29a797b3efdcdbdf49daa79431e;hpb=c37d45adc7d98a702a7459ccdc0ac23df01a476e;p=xboard.git diff --git a/gtk/xoptions.c b/gtk/xoptions.c index 8fb5dca..68eb638 100644 --- a/gtk/xoptions.c +++ b/gtk/xoptions.c @@ -449,7 +449,7 @@ CreateMenuPopup (Option *opt, int n, int def) if(accelerator_mods & GDK_CONTROL_MASK) { // in OSX use Meta where Linux uses Ctrl accelerator_mods &= ~GDK_CONTROL_MASK; // clear Ctrl flag accelerator_mods |= GDK_META_MASK; // set Meta flag - } + } #endif gtk_widget_add_accelerator (GTK_WIDGET(entry), "activate",GtkAccelerators, accelerator_key, accelerator_mods, GTK_ACCEL_VISIBLE); @@ -739,7 +739,8 @@ gboolean GenericPopDown(w, resptype, gdata) // I guess BrowserDlg will be abandoned, as GTK has a better browser of its own if(shellUp[BrowserDlg] && dlg != BrowserDlg || dialogError) return True; // prevent closing dialog when it has an open file-browse daughter #else - if(browserUp || dialogError && dlg != FatalDlg) return True; // prevent closing dialog when it has an open file-browse or error-popup daughter + if(browserUp || dialogError && dlg != FatalDlg || dlg == MasterDlg && shellUp[TransientDlg]) + return True; // prevent closing dialog when it has an open file-browse, transient or error-popup daughter #endif shells[dlg] = w; // make sure we pop down the right one in case of multiple instances @@ -1138,6 +1139,7 @@ GenericPopUp (Option *option, char *title, DialogClass dlgNr, DialogClass parent if(wp[dlgNr]) gtk_window_move(GTK_WINDOW(shells[dlgNr]), wp[dlgNr]->x, wp[dlgNr]->y); return 0; } + if(dlgNr == TransientDlg && parent == BoardWindow && shellUp[MasterDlg]) parent = MasterDlg; // MasterDlg can always take role of main window dialogOptions[dlgNr] = option; // make available to callback // post currentOption globally, so Spin and Combo callbacks can already use it @@ -1511,7 +1513,7 @@ if(appData.debugMode) printf("n=%d, h=%d, w=%d\n",n,height,width); gtkosx_application_set_menu_bar(theApp, GTK_MENU_SHELL(menuBar)); gtkosx_application_insert_app_menu_item(theApp, GTK_MENU_ITEM(helpMenu[8].handle), 0); // hack gtkosx_application_sync_menubar(theApp); - } + } #endif break; case BoxEnd: