fixed segfault in xengineoutput
authorArun Persaud <arun@nubati.net>
Fri, 15 Jul 2011 18:21:29 +0000 (11:21 -0700)
committerArun Persaud <arun@nubati.net>
Fri, 15 Jul 2011 18:23:10 +0000 (11:23 -0700)
xengineoutput.c

index 11b0695..3c0921e 100644 (file)
@@ -112,7 +112,7 @@ void SetEngineColorIcon( int which );
 
 Position engineOutputX = -1, engineOutputY = -1;
 Dimension engineOutputW, engineOutputH;
-Widget engineOutputShell;
+Widget engineOutputShell = NULL;
 static int engineOutputDialogUp;
 
 /* Module variables */
@@ -161,17 +161,18 @@ static void InitializeEngineOutput()
 
 void DoSetWindowText(int which, int field, char *s_label)
 {
-       Arg arg;
+       Arg args[16];
 
-       XtSetArg(arg, XtNlabel, (XtArgVal) s_label);
-       XtSetValues(outputField[which][field], &arg, 1);
+       XtSetArg(args[0], XtNlabel, (XtArgVal) s_label);
+       XtSetValues(outputField[which][field], args, 1);
 }
 
 void SetEngineOutputTitle(char *title)
 {
-       Arg arg;
-       XtSetArg(arg, XtNtitle, (XtArgVal) title);
-       XtSetValues(engineOutputShell, &arg, 1);
+       Arg args[16];
+       if(engineOutputShell==NULL) return;
+       XtSetArg(args[0], XtNtitle, (XtArgVal) title);
+       XtSetValues(engineOutputShell, args, 1);
 }
 
 void InsertIntoMemo( int which, char * text, int where )