[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#250916: lesstif2: Again #174065: nedit: "File > Open > file" New window freeze



On Thu, May 27, 2004 at 08:09:42AM +1000, herbert wrote:
> On Thu, May 27, 2004 at 12:04:45AM +1000, herbert wrote:
> > 
> > OK, found the real culprit.
> > 
> > DialogS is realising the widget before it has been created properly!
> > 
> > The following patch should fix the problem.
> > 
> > Can someone NMU please?
> 
> Please hold on any NMUs.  This patch has triggered new problems with
> xinvest which needs to be tracked down first.

Found the problem.  The following patch which obsoletes the previous one
should fix all three problems.
-- 
Visit Openswan at http://www.openswan.org/
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Index: lib/Xm-2.1/DialogS.c
===================================================================
RCS file: /home/gondolin/herbert/src/CVS/debian/lesstif/lib/Xm-2.1/DialogS.c,v
retrieving revision 1.4
diff -u -r1.4 DialogS.c
--- a/lib/Xm-2.1/DialogS.c	9 May 2004 10:36:47 -0000	1.4
+++ b/lib/Xm-2.1/DialogS.c	27 May 2004 10:00:11 -0000
@@ -326,7 +326,6 @@
     {
 	XtHeight(new_w) = 1;
     }
-    XtRealizeWidget(new_w);
 }
 
 
@@ -501,11 +500,6 @@
 
     DEBUGOUT(_LtDebug2(__FILE__, (Widget)p, w, "insert_child\n"));
 
-#define superclass (&transientShellClassRec)
-    (*superclass->composite_class.insert_child) (w);
-#undef superclass
-
-#if 0
     /* Avoid nasty side effects with the shell extension object */
     if (!XtIsRectObj(w))
     {
@@ -531,7 +525,10 @@
 	XtWidth(p) = ww;
 	XtHeight(p) = hh;
     }
-#endif
+
+#define superclass (&transientShellClassRec)
+    (*superclass->composite_class.insert_child) (w);
+#undef superclass
 }
 
 static void
Index: lib/Xm/DialogS.c
===================================================================
RCS file: /home/gondolin/herbert/src/CVS/debian/lesstif/lib/Xm/DialogS.c,v
retrieving revision 1.4
diff -u -r1.4 DialogS.c
--- a/lib/Xm/DialogS.c	9 May 2004 10:36:47 -0000	1.4
+++ b/lib/Xm/DialogS.c	27 May 2004 10:00:18 -0000
@@ -326,7 +326,6 @@
     {
 	XtHeight(new_w) = 1;
     }
-    XtRealizeWidget(new_w);
 }
 
 
@@ -501,11 +500,6 @@
 
     DEBUGOUT(_LtDebug2(__FILE__, (Widget)p, w, "insert_child\n"));
 
-#define superclass (&transientShellClassRec)
-    (*superclass->composite_class.insert_child) (w);
-#undef superclass
-
-#if 0
     /* Avoid nasty side effects with the shell extension object */
     if (!XtIsRectObj(w))
     {
@@ -531,7 +525,10 @@
 	XtWidth(p) = ww;
 	XtHeight(p) = hh;
     }
-#endif
+
+#define superclass (&transientShellClassRec)
+    (*superclass->composite_class.insert_child) (w);
+#undef superclass
 }
 
 static void

Reply to: