Review Request 123335: Fix native file dialogs from widgets QFileDialog

Hrvoje Senjan hrvoje.senjan at gmail.com
Fri May 15 18:16:13 UTC 2015



> On May 15, 2015, 8:08 p.m., Hrvoje Senjan wrote:
> > src/platformtheme/kdeplatformfiledialoghelper.cpp, line 300
> > <https://git.reviewboard.kde.org/r/123335/diff/1-2/?file=360850#file360850line300>
> >
> >     This somehow breaks dialogs from QFileDialog. e.g. standarddialogs' QFileDialog::getOpenFileName() from Qt examples, smplayer, vlc dialogs are all broken (they don't show). Strangely, removing this line fixes the problem here
> 
> David Rosca wrote:
>     Hmm, i don't think that's really possible.
>     Can you please show an example QFileDialog invocation that triggers this bug?

i can't even run qfiledialogtest from tests dir:
```
#1  0x00007fb235226e54 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fb235226f6c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007fb2366ee7fc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x189e540, flags=...)
    at kernel/qeventdispatcher_glib.cpp:418
#4  0x00007fb23669540b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffdd2b01410, flags=...)
    at kernel/qeventloop.cpp:204
#5  0x00007fb236e2461d in QDialog::exec() () at /usr/lib64/libQt5Widgets.so.5
#6  0x00007fb22ad03dfe in KDEPlatformFileDialogHelper::exec() (this=0x18d5db0) at ../src/platformtheme/kdeplatformfiledialoghelper.cpp:282
#7  0x00007fb236e244ca in QDialog::exec() () at /usr/lib64/libQt5Widgets.so.5
#8  0x0000000000402990 in main(int, char**) (argc=1, argv=<optimized out>) at ../tests/qfiledialogtest.cpp:94
```


- Hrvoje


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123335/#review80415
-----------------------------------------------------------


On April 17, 2015, 10 a.m., David Rosca wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123335/
> -----------------------------------------------------------
> 
> (Updated April 17, 2015, 10 a.m.)
> 
> 
> Review request for KDE Frameworks, David Faure and Lukáš Tinkl.
> 
> 
> Repository: frameworkintegration
> 
> 
> Description
> -------
> 
> 9814e4b773b2b34afafa0c5d242594bbb4f9a6ae fixed QML file dialogs but broke QtWidgets dialogs.
> 
> QFileDialog static functions - dialog would open, but any user interaction is blocked (cannot select files or click on anything).
> QFileDialog *d = new QFileDialog(parent); d->open(); - dialog would not open at all
> 
> The first issue occurs because exec() is called on already shown dialog. This is fixed by explicit hide() before calling exec() - kind of hacky :/
> The second issue is fixed by always calling show().
> 
> 
> Diffs
> -----
> 
>   autotests/CMakeLists.txt 00e4a41 
>   autotests/kfiledialog_unittest.cpp 45a139a 
>   autotests/kfiledialogqml_unittest.cpp PRE-CREATION 
>   autotests/qml/filedialog_parentless.qml PRE-CREATION 
>   autotests/qml/filedialog_withparent.qml PRE-CREATION 
>   src/platformtheme/kdeplatformfiledialoghelper.cpp 92ab107 
> 
> Diff: https://git.reviewboard.kde.org/r/123335/diff/
> 
> 
> Testing
> -------
> 
> QML dialogs: 
> example from bug 334963 works fine
> file dialog from plasma desktop settings -> wallpapers works fine
> 
> QtWidgets dialogs:
> static dialogs from qtbase/examples/widgets/dialogs/standarddialogs works fine
> QFileDialog *d = new QFileDialog(parent); d->open(); works fine
> test app: https://paste.kde.org/psddcng5n
> 
> I'm running Qt 5.4.1.
> 
> Are there any other types of dialogs that I forgot (and possibly broke)?
> 
> 
> Thanks,
> 
> David Rosca
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20150515/4beeea72/attachment.html>


More information about the Kde-frameworks-devel mailing list