Name: dmR10075 Date: 04/05/2002
Solaris native code in awt_ScrollPane.c changes some default static
callback (base_class.widgetNavigable) to our own function - MyClipNavigable,
and stores the default callback in static variable. The code is
implemented so that the change could happen several times.
And, after the second change static variable will contain the
reference to the MyClipNavigable. When we request focus Motif gets the
value of the callback from base_class.widgetNavigable and calls it.
Because we replaced the callback it will call MyClipNavigable, which
will get the stored callback which is now (after the second change)
also points to MyClipNavigable - and it will results in infinite loop.
Though I was unable to write the test which will explode the problem
I think it needs to be fixed as the fix is simple while the
consequences of the problem are meaningful.
Reproducible starting from the build: Hopper b07