#2314 Tcl Event goes into an infinite loop when used with Tix

obsolete: 8.4.2
closed-invalid
5
2003-05-11
2003-05-02
Anonymous
No

Tcl goes into an infinite loop when used with attached Tix
file. To recreate the inifinite loop click on the scrollbar
and drag it down to the last item.

It can be recreated with the following setup

Windows NT, Windows 2000

Tcl - 8.4.2
Tk - 8.4.2
Tix - 8.1.1, 8.2.0

This seems to be a corner case, since any change in the
number items to be displayed on the tixTree or window
height or pady or TIX_DEFAULT_SCHEME in tixInit.c does
not recreate the bug.

To recreate the bug in other versions of Tix e.g. 8.1.2, 8.
1.3 etc, change the following line in tixInit.c

#define TIX_DEF_SCHEME "WmDefault"

to

#define TIX_DEF_SCHEME "TixGray"

A preliminary debug found by attaching the VC 6.0
debugger to the errant program showed the stack trace
as follows

Tk_RedrawImage
TclServiceIdle
Tcl_ServiceAll
ScrollbarProc
Tk_TranslateWinEvent
TkWinChildProc
TkWinResendEvent
ModalLoopProc
Tk_BindEvent
TkBindEventProc
Tk_HandleEvent
WindowEventProc
Tcl_ServiceEvent
Tcl_DoOneEvent
Tk_MainLoop
Tk_MainEx

Discussion

  • Nobody/Anonymous

    Sample TixTree file to recreate the infinite event loop

     
  • Jeffrey Hobbs

    Jeffrey Hobbs - 2003-05-11

    Logged In: YES
    user_id=72656

    This is a bug in Tix and how it handles its scrollbars. This
    has happened to a few other widget sets, but has been
    corrected at least for BWidgets, which you can switch to.

     
  • Jeffrey Hobbs

    Jeffrey Hobbs - 2003-05-11
    • status: open --> closed-invalid