Version: (using Devel) OS: Linux Installed from: Compiled sources When previewing an image in Konqueror using the Embeddable Image Viewer (whether as default action or explicitly selected for preview), the status bar immediately doubles in vertical size. Going "Back" from the preview leaves the status bar at that size and any addons' icons behind. Repeating preview/back a number of times leaves more icons behind. This does not seem to happen when previewing with Gwenview or Okular. See attached screenshots for an illustration of the problem.
Created attachment 42842 [details] Screen shot 1 Newly opened Konqueror window
Created attachment 42843 [details] Screen shot 2 Previewing in Embeddable Image Viewer. The AdBlocK icon (from extragear/base/konq-plugins/adblock) is clickable.
Created attachment 42844 [details] Screen shot 3 As previous, but hovering over a toolbar button. Note the duplicated message.
Created attachment 42845 [details] Screen shot 4 After doing "Back" from the image preview. The AdBlocK icon is still present but is no longer clickable.
Created attachment 42846 [details] Screen shot 5 After having done lots of Preview/Back operations. Good collection of useless icons.
Thanks; I saw that yesterday but had no clue how it got triggered. I guess it is likely related to the simple image viewer part using a child KHTMLPart (which loads the appropriate plugins). Don't know enough about how statusbar extension stuff works to say more w/o further code reading.
SVN commit 1169563 by orlovich: Create a StatusBarExtension and make sure to propagate the statusbar set on it to the child khtmlpart so if a plugin (e.g. adblock helper) tries to do statusbar stuff we use the konqueror statusbar and don't end up creating a second/kmainwindow one First part of fix for #234624 CCBUG:234624 M +6 -0 khtmlimage.cpp M +2 -0 khtmlimage.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1169563
SVN commit 1169565 by orlovich: Merged revision:r1169563 | orlovich | 2010-08-29 13:33:49 -0400 (Sun, 29 Aug 2010) | 8 lines Create a StatusBarExtension and make sure to propagate the statusbar set on it to the child khtmlpart so if a plugin (e.g. adblock helper) tries to do statusbar stuff we use the konqueror statusbar and don't end up creating a second/kmainwindow one First part of fix for #234624 CCBUG:234624 M +6 -0 khtmlimage.cpp M +2 -0 khtmlimage.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1169565
SVN commit 1169566 by orlovich: Always delete our label, since at the point we're cleaned up the statusbar extension may no longer be available. Second part of fix of #234624, fixes multiple ghost icons BUG:234624 FIXED-IN:4.5.2 M +0 -2 adblock.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1169566
Not sure if this is a consequence of the fix or a separate bug (please close if so), but the Konqueror status bar now looks very wrong. It is bigger vertically than before, so the progress bar and other icons look too small. In addition, when hovering over a link the status text is preceded by "<qt>" and over a blank area the text shows just "<qt>". See the attached screenshot.
Created attachment 51139 [details] Status bar after fix (Oxygen style)
Created attachment 51140 [details] Status bar after fix (Plastique style) The status bar looks even worse when using a style with borders.
I think it's some sort of a separate regression; IIRC someone mentioned it to me before this commit. I am on a stable tree (KDE 4.5 branch, Qt 4.6.3) and I don't see it.
Yep, it was from my trunk-only statusbar changes, completely unrelated to the original bug in this report. Fixed in 1171419.
Created attachment 51749 [details] Test case for javascript:window.close() crash The commit (r1169566) in comment #9 causes a crash when a link with a HREF of "javascript:window.close()" is clicked. Test case attached. Thread 1 (Thread 0xb586d930 (LWP 3792)): [KCrash Handler] #7 0xab23b3d9 in ~AdBlock (this=0x97cfc18, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /ws/trunk/extragear/base/konq-plugins/adblock/adblock.cpp:109 #8 0xb6db1567 in QObjectPrivate::deleteChildren (this=0x94dff70) at kernel/qobject.cpp:1986 #9 0xb6db3cba in ~QObject (this=0x962dda8, __in_chrg=<value optimized out>) at kernel/qobject.cpp:975 #10 0xb4e5b121 in ~Part (this=0x962dda8, __vtt_parm=0xae67db68, __in_chrg=<value optimized out>) at /ws/trunk/kdelibs/kparts/part.cpp:213 #11 0xb4e5b2e3 in ~ReadOnlyPart (this=0x962dda8, __vtt_parm=0xae67db64, __in_chrg=<value optimized out>) at /ws/trunk/kdelibs/kparts/part.cpp:465 #12 0xae019429 in ~KHTMLPart (this=0x962dda8, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /ws/trunk/kdelibs/khtml/khtml_part.cpp:579 #13 0xb6da72b3 in qDeleteInEventHandler (o=0x2f346564) at kernel/qobject.cpp:4001 #14 0xb6db13e8 in QObject::event (this=0x962dda8, e=0x97f5e70) at kernel/qobject.cpp:1231 #15 0xb60f980c in QApplicationPrivate::notify_helper (this=0x8f4bc68, receiver=0x962dda8, e=0x97f5e70) at kernel/qapplication.cpp:4306 #16 0xb60fb977 in QApplication::notify (this=0xbfdad3e8, receiver=0x962dda8, e=0x97f5e70) at kernel/qapplication.cpp:4271 #17 0xb7529ed8 in KApplication::notify (this=0xbfdad3e8, receiver=0x962dda8, event=0x97f5e70) at /ws/trunk/kdelibs/kdeui/kernel/kapplication.cpp:310 #18 0xb6d93c15 in QCoreApplication::notifyInternal (this=0xbfdad3e8, receiver=0x962dda8, event=0x97f5e70) at kernel/qcoreapplication.cpp:726 #19 0xb6d9509a in QCoreApplication::sendEvent (receiver=0x0, event_type=0, data=0x8ed80d8) at kernel/qcoreapplication.h:215 #20 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8ed80d8) at kernel/qcoreapplication.cpp:1367 #21 0xb6d952cc in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1260 #22 0xb61dbe6b in QCoreApplication::sendPostedEvents (this=0x8ed7ac0, flags=...) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #23 QEventDispatcherX11::processEvents (this=0x8ed7ac0, flags=...) at kernel/qeventdispatcher_x11.cpp:75 #24 0xb6d925c7 in QEventLoop::processEvents (this=0xbfdad2d0, flags=...) at kernel/qeventloop.cpp:149 #25 0xb6d92a0d in QEventLoop::exec (this=0xbfdad2d0, flags=...) at kernel/qeventloop.cpp:201 #26 0xb6d9538e in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003 #27 0xb60f9104 in QApplication::exec () at kernel/qapplication.cpp:3585 #28 0xb1763731 in kdemain (argc=2, argv=0x8f376b0) at /ws/trunk/kdebase/apps/konqueror/src/konqmain.cpp:219 #29 0x0804ecf3 in launch (argc=<value optimized out>, _name=<value optimized out>, args=<value optimized out>, cwd=0x8f38347 "/usr/home/jjm/docs", envc=60, envs=0x8f3835e "MANPATH=/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.20.1/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.4.3/man:/etc/java-con"..., reset_env=true, tty=0x0, avoid_loops=false, startup_id_str=0x8f38e34 "keelhaul;1284714707;609418;6164_TIME180190418") at /ws/trunk/kdelibs/kinit/kinit.cpp:727 #30 0x0804f42d in handle_launcher_request (sock=21, who=<value optimized out>) at /ws/trunk/kdelibs/kinit/kinit.cpp:1219 #31 0x080500b8 in handle_requests (waitForPid=<value optimized out>) at /ws/trunk/kdelibs/kinit/kinit.cpp:1403 #32 0x08050a33 in main (argc=4, argv=0xbfdadb54, envp=0xbfdadb68) at /ws/trunk/kdelibs/kinit/kinit.cpp:1898 Reverting the commit appears to fix the problem.
SVN commit 1185208 by orlovich: Fix the regression due to the 'don't forget to delete the label' fix --- the label may also get deleted before us in the window.close case, so guard against that. This cleanup order thing sure is messy (and not just here, also with view vs. part, etc.) :( CCBUG: 234624 CCBUG: 253921 M +15 -13 adblock.cpp M +2 -1 adblock.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1185208