Bug 446950

Summary: QML Dialog (through QtQuickDialogWrapper) does not work on Windows (Craft)
Product: [Frameworks and Libraries] frameworks-knewstuff Reporter: Julius Künzel <julius.kuenzel>
Component: generalAssignee: Dan Leinir Turthra Jensen <admin>
Status: RESOLVED FIXED    
Severity: normal CC: alexander.lohnau, kdelibs-bugs-null, nicolas.fella
Priority: NOR    
Version First Reported In: 5.88.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Julius Künzel 2021-12-13 21:04:10 UTC
SUMMARY
Executing a dialog created using KNS3::QtQuickDialogWrapper does nothing. Looking at applications output you find "QQmlComponent: Component is not ready"

STEPS TO REPRODUCE
1. Install a crafted version of KWordQuiz on windows
2. Go to the "File" menu and choose "Download New Vocabularies..."

OBSERVED RESULT
Nothing happens

EXPECTED RESULT
The Get New Stuff dialog shows up

SOFTWARE/OS VERSIONS
Windows: Windows 10
KDE Frameworks Version: 5.88.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION

First of all let me say that I am not finally sure if this is a KNS issue or maybe a Craft issue, but I looked at the Craft blueprints and it looks okay as far as I can see.

This issue came to my attention when we switched Kdenlive from the widget dialog to QML dialog due to the deprecation warning (we switched windows back to use the widget dialog as a temporary fix), but you can expierience this with other applications like KWordQuiz too. See also https://invent.kde.org/multimedia/kdenlive/-/issues/1192

I tried several things to debug/fix this, but unfortunately I am not experienced enought with windows as well as debuging QML
Comment 1 Nicolas Fella 2021-12-13 21:50:59 UTC
This works fine for me with Frameworks master, but I'm not sure whether that could be because of a missing dependency that I have accidentally installed
Comment 2 Alexander Lohnau 2021-12-13 22:18:01 UTC
Git commit 64e9eb46f8f5d93f4cd2a1f2677ace671bf1c671 by Alexander Lohnau.
Committed on 13/12/2021 at 22:17.
Pushed by alex into branch 'master'.

Add QtQuickControls dependency for KNewStuff

This is for example used in the dialogs.

M  +1    -0    kde/frameworks/tier3/knewstuff/knewstuff.py

https://invent.kde.org/packaging/craft-blueprints-kde/commit/64e9eb46f8f5d93f4cd2a1f2677ace671bf1c671
Comment 3 Julius Künzel 2021-12-27 13:58:39 UTC
Unfortunately not still not fixed :-/
Comment 4 Julius Künzel 2021-12-30 12:06:15 UTC
Git commit 549e38f8507fc2ba63d3483b1ff4b1a8274a54e8 by Julius Künzel.
Committed on 30/12/2021 at 12:05.
Pushed by jlskuz into branch 'master'.

Drop lib prefix when building for Windows

QQmlImportDatabase::resolvePlugin doesn't accept lib prefixes under
Windows, causing to fail to import when using as a dynamic plugin.

Inspired by frameworks/kirigami!34

M  +4    -0    src/qtquick/CMakeLists.txt

https://invent.kde.org/frameworks/knewstuff/commit/549e38f8507fc2ba63d3483b1ff4b1a8274a54e8