Major incompatibility between Motif 2.3.1 and 2.3.2

This forum is read only. No new submissions are accepted.

Questions about motif? Contact us

6 posts / 0 new
Last post
Major incompatibility between Motif 2.3.1 and 2.3.2

 

Major incompatibility between Motif 2.3.1 and 2.3.2
Submitted by RobArthan on Thu, 06/18/2009 - 21:37.

I have a Motif application that is unusable with Motif 2.3.2 apparently because of a change in the behaviour of paned windows.

The code below demonstrates a much cutdown version of the problem: it creates two label widgets as children of a paned window. With Motif 2.3.1 both labels get a fair share of the paned window; with Motif 2.3.2, the program starts up with only the first label and the "sash" between the windows visible.

In the real application this is a stopper: the paned window is part of the applications main window and its top pane is an information bar with a fixed height while its bottom pane is a multiline text widget. The text widget is now inaccessible as a result of the changed behaviour in 2.3.2.

Regards,

Rob
/*
* xmtest.c:
* Displays a difference between Motif 2.3.1 and 2.3.2
* to compile, use e.g.,:
* gcc -g -o xmtest -I/usr/X11R6/include -L/usr/X11R6/lib -lXm -lXt -lX11 xmtest.c
*
*/
#include
int main(int argc, char **argv)
{
XtAppContext app;
Widget root, paned_window, label1, label2;
root = XtVaAppInitialize(&app,
"XMTest",
NULL,
0,
&argc,
argv, NULL, NULL);
paned_window = XtVaCreateWidget("paned_window",
xmPanedWindowWidgetClass,
root, NULL);
label1 = XtVaCreateManagedWidget("label1",
xmLabelWidgetClass, paned_window,
NULL);
label2 = XtVaCreateManagedWidget("label2",
xmLabelWidgetClass, paned_window,
NULL);
XtManageChild(paned_window);
XtRealizeWidget(root);
XtAppMainLoop(app);
}

 

Sat, 06/20/2009 - 14:24#1

Sat, 06/20/2009 - 14:24#1

RobArthan

That garbled #include line

That garbled #include line should be:

#include "Xm/XmAll.h"

I found that using XmPaned rather than XmPanedWindow gives a workaround. But it is still a major incompatibility.

and why isn't XmPaned.h in XmAll.h???

Regards,

Rob.

 

Mon, 06/22/2009 - 15:28#2

Mon, 06/22/2009 - 15:28#2

Yuriy Syrota

This is bug #1476, it will

This is bug #1476, it will be fixed in upcoming OpenMotif 2.3.3. But please, try to avoid using of XmPanedWindow since the widget is obsolete.

 

Tue, 06/23/2009 - 22:41#3

Tue, 06/23/2009 - 22:41#3

dpeterc

Hello Yuriy, I have tried to

Hello Yuriy,

I have tried to replace XmPanedWindow with XmPaned, but it is not equivalent, it behaved differently.
I assume many other programmers with a lots of code to maintain will also not have time to iron out the differences on old code which worked OK for many years.
I have also checked several open source programs, and all of them use XmPanedWindow, none of them uses XmPaned.
So I think it will be impossible to convert all the code in the world to XmPaned, as many of old Motif programs are no longer actively maintained. I think XmPanedWindow should be fixed to work as before, in the name of backwards compatibility.

 

Wed, 06/24/2009 - 16:06#4

Wed, 06/24/2009 - 16:06#4

Yuriy Syrota

I understand you, the issue

I understand you, the issue fill be fixed in upcoming release that is going to appear in the beginning of the next month.

 

Mon, 12/14/2009 - 17:40#5

Mon, 12/14/2009 - 17:40#5

squeen

I also bumped in to this

I also bumped in to this issue with XmPanedWindow not behaving the same when I went from OpenMotif-2.2.3 to 2.3.2. Even the man page is gone. Oh well, I guess time marches on. I'll either fix my code or wait for 2.3.3.

I would also suggest adding (XmPanedWindow) to the title of this post.

EDIT: One clarification. The issue was exposed when I built OpenMotif myself and installed under Mac OS X 10.5. On Linux (CentOS 5), I am using the system libs: openmotif-devel-2.3.1-2.el5.x86_64 which does not exhibit any issues.

(BTW: This forum needs an edit toolbar!)

EDIT (again): To switch to Paned from PanedWindow it is necessary to

#include "Xm/Paned.h"

since it seems to be missing from XmAll.h.