My intention was to find out whether there might be "hidden" keyboard shortcuts in that dialog. Steps how to reproduce with server installation of "LibO 4.0.1.2 release - German UI / German Locale [Build ID: 84102822e3d61eb989ddd325abf1ac077904985)]" {tinderbox: @6, pull time 2013-02-28 08:53(?)} on German WIN7 Home Premium (64bit) with newly created user profile ….\LibreOffice\4012\ 1. Open new Writer document 2. Menu 'File -> Print_ > Dialog appears 3. Click 'Umgekehrte Reihenfolge' (reverse order) 4. try typing a letter -> uparrow -> downarrow -> next letter typed, from time to time again Click 'Umgekehrte Reihenfolge' I see a lots of hangs, LibO becomes unresponsive, has to be closed. I am still working on a step by step instruction how to make the crash reproducible reliably. I did not test other dialogs, languages, versions until now.
Hi Caolan, an odd hang in the new layout / widget stuff around keyboard navigation inside RadioButton groups (?) I believe the up/down arrow thing having clicked that check-box is the magic act - which moves focus into their group: (gdb) bt #0 0xb698f317 in backInGroup (rGroup=<optimized out>, aRevStart=<optimized out>) at /data/opt/libreoffice/master/vcl/source/window/dlgctrl.cxx:566 #1 (anonymous namespace)::nextInGroup (pSourceWindow=0x92c7470, bBackward=<optimized out>) at /data/opt/libreoffice/master/vcl/source/window/dlgctrl.cxx:617 #2 0xb698fa49 in Window::ImplDlgCtrl (this=0xbfffdf00, rKEvt=..., bKeyInput=1 '\001') at /data/opt/libreoffice/master/vcl/source/window/dlgctrl.cxx:925 #3 0xb69edeb5 in Window::Notify (this=0xbfffdf00, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5219 #4 0xb69c83bd in SystemWindow::Notify (this=0xbfffdf00, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/syswin.cxx:108 #5 0xb698ccba in Dialog::Notify (this=0xbfffdf00, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/dialog.cxx:604 #6 0xb69edf6c in Window::Notify (this=0xa41bce8, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239 #7 0xb69edf6c in Window::Notify (this=0x98d16e0, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239 #8 0xb69edf6c in Window::Notify (this=0xa577258, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239 #9 0xb67e81e8 in Control::Notify (this=0xa577258, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/control/ctrl.cxx:312 #10 0xb681f774 in Notify (rNEvt=..., this=0xa577258) at /data/opt/libreoffice/master/vcl/source/control/tabctrl.cxx:1592 #11 TabControl::Notify (this=0xa577258, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/control/tabctrl.cxx:1585 #12 0xb69edf6c in Window::Notify (this=0x8e9baa0, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239 #13 0xb69edf6c in Window::Notify (this=0x8f64f28, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239 #14 0xb69edf6c in Window::Notify (this=0x88e2b98, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239 #15 0xb69edf6c in Window::Notify (this=0x9df93d8, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239 #16 0xb69edf6c in Window::Notify (this=0xa44d090, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239 #17 0xb69edf6c in Window::Notify (this=0x8f4ebc8, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239 #18 0xb69edf6c in Window::Notify (this=0x8fbb1a8, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239 #19 0xb69edf6c in Window::Notify (this=0x92c7470, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239 #20 0xb67e81e8 in Control::Notify (this=0x92c7470, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/control/ctrl.cxx:312 #21 0xb69e1882 in Window::KeyInput (this=0x92c7470, rKEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:4755 #22 0xb67df76a in RadioButton::KeyInput (this=0x92c7470, rKEvt=...) at /data/opt/libreoffice/master/vcl/source/control/button.cxx:2562 #23 0xb69f74c2 in ImplHandleKey (pWindow=0xbfffdf00, nSVEvent=4, nKeyCode=1025, nCharCode=0, nRepeat=0, bForward=1 '\001') at /data/opt/libreoffice/master/vcl/source/window/winproc.cxx:1099 #24 0xb69f9c37 in ImplWindowFrameProc (pWindow=0xbfffdf00, nEvent=5, pEvent=0xbfffd730) at /data/opt/libreoffice/master/vcl/source/window/winproc.cxx:2448 #25 0xb37ef50d in SalFrame::CallCallback (this=0x8f67ff0, nEvent=5, pEvent=0xbfffd730) at /data/opt/libreoffice/master/vcl/inc/salframe.hxx:244 #26 0xb37e9cdb in GtkSalFrame::doKeyCallback (this=0x8f67ff0, state=16, keyval=65362, hardware_keycode=111, time=385632262, aOrigCode=0, bDown= true, bSendRelease=false) at /data/opt/libreoffice/master/vcl/unx/gtk/window/gtkframe.cxx:439 #27 0xb37ec663 in GtkSalFrame::signalKey (pEvent=0x96f3590, frame=0x8f67ff0) at /data/opt/libreoffice/master/vcl/unx/gtk/window/gtkframe.cxx:3560 #28 0xb33c3a22 in _gtk_marshal_BOOLEAN__BOXED (closure=0x92eceb8, return_value=0xbfffd944, n_param_values=2, param_values=0xbfffd9b0, invocation_hint=0xbfffd930, marshal_data=0x0) at gtkmarshalers.c:86 #29 0xb5bded54 in g_closure_invoke (closure=0x92eceb8, return_value=0xbfffd944, n_param_values=2, param_values=0xbfffd9b0, invocation_hint= 0xbfffd930) at gclosure.c:777 #30 0xb5bf0983 in signal_emit_unlocked_R (node=0x8098a10, detail=0, instance=0x928b8c8, emission_return=0xbfffdb48, instance_and_params= 0xbfffd9b0) at gsignal.c:3551 #31 0xb5bf88ad in g_signal_emit_valist (instance=0x928b8c8, signal_id=42, detail=0, var_args= There is (effectively) an infinite loop doing a 'finish' in backInGroup for me at least, though initially / at first it would seem to hang but come out of this ...
I guess the issue is not advancing the iterators during the loops here; working on a fix.
Fixed in master, in the gerrit queue for review for -4-0.
Michael Meeks committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=23c22d3da5349ba1242edaeecfa0cba97a92ac71 fdo#62094 - fix infinite loop in radio button group iteration. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Michael Meeks committed a patch related to this issue. It has been pushed to "libreoffice-4-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=1107e4d7e03ecd3f36993d362b6b42e5806817d8&h=libreoffice-4-0 fdo#62094 - fix infinite loop in radio button group iteration. It will be available in LibreOffice 4.0.3. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.