Bug#603480: kdebase-workspace: qguiplatformplugin fileDialogSetVisible segs if object is hidden before it's made visible
Package: kdebase-workspace
Version: 4:4.4.5-4
Severity: important
In qguiplatformplugin_kde.cpp:fileDialogSetVisible it has
if (!kdefd && visible) {
if(qfd->options() & QFileDialog::DontUseNativeDialog)
return false;
kdefd = new KFileDialogBridge(KUrl::fromPath(qfd->directory().canonicalPath()),
qt2KdeFilter(qfd->nameFilters().join(";;")), qfd);
qfd->setProperty("_k_bridge", QVariant::fromValue(kdefd));
}
i.e. if you are making this visible and kdefd hasn't been created then create it now.
Most of the contents of the function are guarded by an if (visible) however on line 249 we have
kdefd->setVisible(visible);
and if you make the object hidden before it's ever been made visible then kdefd will be NULL
and it seg's on line 249.
This is the underlying cause of bug 599303 in ktoon which is marked RC.
It makes ktoon unusable for KDE users (although it works for Gnome users!)
I suggest guarding this line with an if (kdefd) but I don't know the structure to know if that is
all that is needed.
Dave
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages kdebase-workspace depends on:
ii kde-window-manager 4:4.4.5-4 the K window manager (KWin)
ii kdebase-workspace-bin 4:4.4.5-4 core binaries for the KDE Plasma W
ii klipper 4:4.4.5-4 clipboard manager
ii ksysguard 4:4.4.5-4 process monitor and system statist
ii systemsettings 4:4.4.5-4 System Settings
Versions of packages kdebase-workspace recommends:
ii kdm 4:4.4.5-4 KDE Display Manager for X11
kdebase-workspace suggests no packages.
-- no debconf information
--
-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux | Happy \
\ gro.gilbert @ treblig.org | | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/
Reply to: