To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=54335
Issue #:|54335
Summary:|plague of dialogs
Component:|gsl
Version:|680m123
Platform:|All
URL:|
OS/Version:|All
Status:|NEW
Status whiteboard:|
Keywords:|
Resolution:|
Issue type:|PATCH
Priority:|P3
Subcomponent:|code
Assigned to:|ssa
Reported by:|mmeeks
------- Additional comments from [EMAIL PROTECTED] Wed Sep 7 09:00:32 -0700
2005 -------
Using (broken) basic code coupled to a spin-button can cause an infinite loop of
plaguesome dialogs. This patch fixes it; Analysis appended. Punch line - someone
evil has been cutting/pasting code behind our backs !
--- vcl/source/control/spinbtn.cxx 22 Oct 2004 12:13:52 -0000 1.7
+++ vcl/source/control/spinbtn.cxx 7 Sep 2005 16:05:46 -0000
@@ -290,7 +299,12 @@
void SpinButton::MouseButtonUp( const MouseEvent& )
{
ReleaseMouse();
+ if ( mbRepeat )
+ {
+ maRepeatTimer.Stop();
+ maRepeatTimer.SetTimeout(
GetSettings().GetMouseSettings().GetButtonStartRepeat() );
+ }
if ( mbUpperIn )
{
@@ -309,11 +327,6 @@
mbInitialUp = mbInitialDown = FALSE;
- if ( mbRepeat )
- {
- maRepeatTimer.Stop();
- maRepeatTimer.SetTimeout(
GetSettings().GetMouseSettings().GetButtonStartRepeat() );
- }
}
// -----------------------------------------------------------------------
Compare the equivalent code in spinfld.cxx - that is IMHO more correct.
The problem is typified by this sequence:
MouseButtonUp called ...
ImplTimeout ... 0 0 1 0 1
ImplTimeout ... 0 0 1 0 1
[ where MouseButtonUp never gets a chance to complete ]:
#1 0x4103a212 in poll () from /lib/tls/libc.so.6
...
#6 0x4009d0cd in Application::Yield () at
/nld/opt/suse-OpenOffice/src680-m125/vcl/source/app/svapp.cxx:563
#7 0x40197066 in Dialog::Execute () at settings.hxx:1246
#8 0x40456b62 in aWndFunc () from ./libsvt680li.so
#9 0x40735887 in ErrorHandler::HandleError () from ./libtl680li.so
#10 0x497b7b39 in ModulWindow::BasicErrorHdl () from ./libbasctl680li.so
...
#18 0x4668948d in SbiInstance::Abort (this=0x8e04660) at
/nld/opt/suse-OpenOffice/src680-m125/basic/source/runtime/runtime.cxx:466
#19 0x4668ac06 in SbiRuntime::Step (this=0x8f08368) at
/nld/opt/suse-OpenOffice/src680-m125/basic/source/runtime/runtime.cxx:785
#20 0x46645e02 in SbModule::Run (this=0x8de5568, pMeth=0x8f22d28) at
/nld/opt/suse-OpenOffice/src680-m125/basic/source/classes/sbxmod.cxx:777
#21 0x466461e1 in SbModule::Notify (this=0x8de5568, [EMAIL PROTECTED],
[EMAIL PROTECTED])
at /nld/opt/suse-OpenOffice/src680-m125/basic/source/classes/sbxmod.cxx:524
#22 0x40342556 in SfxBroadcaster::Broadcast () from ./libsvl680li.so
...
#41 0x40bd33cb in AdjustmentListenerMultiplexer::adjustmentValueChanged () from
./libtk680li.so
...
#45 0x40b5cbca in VCLXWindow::WindowEventListener () from ./libtk680li.so
...
#50 0x401f593d in Window::ImplCallEventListeners (this=0x89a4630, nEvent=1113,
pData=0x0)
#51 0x402252a9 in Control::ImplCallEventListenersAndHandler () at
/nld/opt/suse-OpenOffice/src680-m125/vcl/source/control/edit.cxx:186
#52 0x40267074 in SpinButton::Up (this=0x89a4630) at
/nld/opt/suse-OpenOffice/src680-m125/vcl/source/control/spinbtn.cxx:170
#53 0x40266317 in SpinButton::ImplTimeout (this=0x89a4630, pTimer=0x89a473c) at
/nld/opt/suse-OpenOffice/src680-m125/vcl/source/control/spinbtn.cxx:148
...
#67 0x4009d0cd in Application::Yield () at
/nld/opt/suse-OpenOffice/src680-m125/vcl/source/app/svapp.cxx:563
#68 0x40197066 in Dialog::Execute () at settings.hxx:1246
#69 0x466a849c in SbRtl_MsgBox (pBasic=0x8de5a50, [EMAIL PROTECTED], bWrite=0
'\0')
at
/nld/opt/suse-OpenOffice/src680-m125/basic/source/runtime/methods.cxx:3876
...
#79 0x46645e02 in SbModule::Run (this=0x8de5568, pMeth=0x8e04608)
...
#100 0x40bd33cb in AdjustmentListenerMultiplexer::adjustmentValueChanged () from
./libtk680li.so
...
#104 0x40b5cbca in VCLXWindow::WindowEventListener () from ./libtk680li.so
...
#109 0x401f593d in Window::ImplCallEventListeners (this=0x89a4630, nEvent=1113,
pData=0x0)
#110 0x402252a9 in Control::ImplCallEventListenersAndHandler () at
/nld/opt/suse-OpenOffice/src680-m125/vcl/source/control/edit.cxx:186
#111 0x40267074 in SpinButton::Up (this=0x89a4630) at
/nld/opt/suse-OpenOffice/src680-m125/vcl/source/control/spinbtn.cxx:170
#112 0x402673af in SpinButton::MouseButtonUp (this=0x89a4630) at
/nld/opt/suse-OpenOffice/src680-m125/vcl/source/control/spinbtn.cxx:310
#113 0x40218dbf in ImplHandleMouseEvent (pWindow=0x872d750, nSVEvent=2,
bMouseLeave=0 '\0', nX=227, nY=346, nMsgTime=13780906, nCode=1, nMode=3)
at /nld/opt/suse-OpenOffice/src680-m125/vcl/source/window/winproc.cxx:910
#114 0x4021a0f0 in ImplHandleSalMouseButtonUp (pWindow=0x872d750,
pEvent=0xbff012d8)
at /nld/opt/suse-OpenOffice/src680-m125/vcl/source/window/winproc.cxx:2120
...
#131 0x41e1aa17 in X11SalInstance::Yield (this=0x809a7f0, bWait=1 '\001')
#132 0x4009d0cd in Application::Yield () at
/nld/opt/suse-OpenOffice/src680-m125/vcl/source/app/svapp.cxx:563
#133 0x4009d117 in Application::Execute () at
/nld/opt/suse-OpenOffice/src680-m125/vcl/source/app/svapp.cxx:525
#134 0x0806bf96 in desktop::Desktop::Main (this=0xbff01d38) at
/nld/opt/suse-OpenOffice/src680-m125/desktop/source/app/app.cxx:1713
#135 0x400a4be6 in SVMain () at
/nld/opt/suse-OpenOffice/src680-m125/vcl/source/app/svmain.cxx:267
#136 0x08060c2f in sal_main ()
#137 0x40f9ae60 in __libc_start_main () from /lib/tls/libc.so.6
#138 0x08060b51 in _start () at start.S:119
---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]