=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/xdeb.c,v retrieving revision 1.11 retrieving revision 1.16 diff -u -p -r1.11 -r1.16 --- OpenXM_contrib2/asir2000/parse/xdeb.c 2003/03/07 06:39:59 1.11 +++ OpenXM_contrib2/asir2000/parse/xdeb.c 2016/08/24 00:52:51 1.16 @@ -45,9 +45,9 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/xdeb.c,v 1.10 2003/03/07 03:12:31 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/xdeb.c,v 1.15 2015/08/14 13:51:56 fujimoto Exp $ */ -#if defined(VISUAL) +#if defined(VISUAL) || defined(__MINGW32__) #if defined(VISUAL_LIB) #include #include @@ -101,6 +101,7 @@ void show_debug_window(int on) #include #include #include +#include static XrmOptionDescRec options[] = { {"-reverse","*reverse",XrmoptionNoArg,"on"}, @@ -114,11 +115,13 @@ static String fallback[] = { }; static void Done(); +static void Quit(); static void SetSelected(); static void SetDismiss(); static XtActionsRec actions_table[] = { {"done",Done}, + {"quit",Quit}, }; char debug_cmd[BUFSIZ]; @@ -159,6 +162,12 @@ static void SetDismiss(Widget w,XtPointer cld,XtPointe XtSetValues(cmdwin, arg, 1); } +static Atom wm_delete_window; +static void Quit(Widget w, XEvent *ev, String *params,Cardinal *nparams) +{ + XBell(XtDisplay(w),0); +} + void init_cmdwin() { Arg arg[5]; @@ -193,10 +202,15 @@ void init_cmdwin() toplevel = XtAppCreateShell(0,title,applicationShellWidgetClass, display,0,0); n = 0; + wm_delete_window = XInternAtom(XtDisplay(toplevel), "WM_DELETE_WINDOW", + False); + XtSetArg(arg[n],XtNiconName,title); n++; XtSetArg(arg[n], XtNwidth, 360); n++; mainwin = XtCreatePopupShell("shell",topLevelShellWidgetClass, toplevel,arg,n); + XtOverrideTranslations(mainwin, + XtParseTranslationTable("WM_PROTOCOLS: quit()")); /* * Command line */ @@ -209,6 +223,8 @@ void init_cmdwin() XtSetArg(arg[n], XtNvalue, ""); n++; XtSetValues(cmdwin, arg, n); XtRealizeWidget(mainwin); + XSetWMProtocols(XtDisplay(mainwin),XtWindow(mainwin), + &wm_delete_window,1); } is_init = 1; }