PR# 12510 Control+Tab inactivated for awhile after Control+Tab with scroll
Problem Report Summary
Submitter: prestoat2000
Category: EiffelStudio
Priority: Medium
Date: 2007/04/22
Class: Bug
Severity: Serious
Number: 12510
Release: 6.0.67948
Confidential: No
Status: Analyzed
Responsible: alexk_es
Environment: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.8.1.2) Gecko/20070225 Firefox/2.0.0.2
Solaris 10 on x86
Synopsis: Control+Tab inactivated for awhile after Control+Tab with scroll
Description
Hold Ctrl key and type Tab. Brings up window with a list of tools. Press left mouse button and drag a scroll bar in this window to the right. Keep left mouse button pressed. Release Ctrl key, then release left mouse button. Now type Ctrl+Tab again. Should bring up window to select tool, but does not bring up any window.
To Reproduce
Problem Report Interactions
I cannot reproduce this bug any longer because the window displayed by Ctrl+Tab does not have any scroll bars, no matter how many Editor windows I create. So perhaps it should be closed, but I will leave that to you.
Hi, Ian, I know how to fix this bug now. :D Just use attached {SD_ZONE_NAVIGATION_DIALOG} to replace the original one. If you diff, you will see the change is calling {EV_GTK_EXTERNALS}.gtk_widget_destroy (l_c_object) when {EV_SCROLLABLE_AREA} is destroyed. I think this API can let GTK clean up all events hooked on {EV_SCROLLABLE_AREA} (pointer press/release event in this bug). I don't understand why `{EV_GTK_EXTERNALS}.gtk_widget_destroy' is not called when {EV_WIDGET} destroyed. The comments of {EV_ANY_I}.destroy are: -- Gtk representation of `Current' may only be cleaned up on dispose to prevent crashes where `Current' is -- destroyed as a result of `Current's event handler being called, this causes instability within gtk What's the `instability within gtk' exactly...? I think {EV_WIDGET_IMP}.destroy should call `{EV_GTK_EXTERNALS}.gtk_widget_destroy (l_c_object)'. Thanks
See bug#13108.