X-windows locking up [message #32564] |
Tue, 15 October 2002 07:37 |
Ian Dean
Messages: 26 Registered: January 2000
|
Junior Member |
|
|
Hi all,
Sorry if this has already been posted - the original seems to have
disappeared.
This request is really for the VMS users out there.!!!!!
Is there a known bug using the sensitive flag on a widget base under
OpenVMS?
What I want is a widget structure that has greyed out areas until some later
stage when I need them to be made available. It is at this point the failure
occurs.
For instance, the following code:
Pro my_test
tlb = widget_base(column=1)
message=widget_label(tlb,value='A header')
my_base = widget_base(tlb, column=1)
widget_control,my_base,sensitive=0 ; Don't allow the user access yet
base2 = widget_base(my_base, row=1)
pulld2 = widget_droplist(base2, value=['aaa','bbb'])
base3 = widget_base(my_base, row=1)
pulld3 = widget_droplist(base2, value=['ccc','ddd'])
; ... more such bases and widgets
widget_control, tlb,/realize
wait,5.0 ; Do some processing
widget_control,my_base,/sensitive ; Now make structure available
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the point when the system hangs
end
When I run the above under OpenVMS 7.1 and IDL 5.4 and the drop-down
list is originally unavailable as expected. However, when my_base is made
sensitive
the droplist widget is enabled, but all the selections available
('aaa','bbb'...) are greyed out. Furthermore, at this point the X-system
locks up. I can no longer size the screen, close it, minimise it.
All I can do is reboot - not exactly desirable.
Note: this only happens if the droplist is in a base below the insensitive
base.
Further investigation indicates that the software is expecting me to make a
selection, but this is not possible because they are greyed out. Hence the
systems is stuck on waiting for an event that can never occur.
I believe this is only a problem with VMS, as the same code runs as expected
on NT
I CAN work round it by not making my_base insensitive, but all the lower
widgets insensitive. However, in the real code, there is a large structure
of widgets (base,buttons,pull-downs,etc) under this base, and in order to
make them sensitive, I'd need to set each widget to sensitive individually -
messy and time consuming.
I would be grateful for any suggestions.
Regards,
Ian
|
|
|