Bug 406818

Summary: Wrong QtGraphicalEffects dependency in CMake
Product: [Unmaintained] lattedock Reporter: Mathias Tillman <master.homer>
Component: plasmoidAssignee: Michail Vourlakos <mvourlakos>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version First Reported In: git (master)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Mathias Tillman 2019-04-23 15:58:42 UTC
SUMMARY
The CMakeLists file adds a dependency on QtGraphicalEffects 1.0, but two of the qml files use QtGraphicalEffects 1.2, which causes the shell plasmoid to fail to load on systems that only have 1.0 installed.

STEPS TO REPRODUCE
1. Compile git master on a system that only has QtGraphicalEffects 1.0
2. Run it

OBSERVED RESULT
The shell plasmoid fails to load, which causes problems with the task manager and probably other things.

EXPECTED RESULT
The shell plasmoid should load properly.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: -
(available in About System)
KDE Plasma Version: -
KDE Frameworks Version: -
Qt Version: 5.12.0

ADDITIONAL INFORMATION
Seems to me like either the CMakeLists.txt file should update the dependency on 1.2, or downgrade the two qml files that depend on 1.2. I manually changed them to import 1.0 instead of 1.2, and it seems to work fine now.
Comment 1 Michail Vourlakos 2019-04-23 16:06:21 UTC
(In reply to Mathias Tillman from comment #0)
> SUMMARY
> The CMakeLists file adds a dependency on QtGraphicalEffects 1.0, but two of
> the qml files use QtGraphicalEffects 1.2, which causes the shell plasmoid to
> fail to load on systems that only have 1.0 installed.
> 
> STEPS TO REPRODUCE
> 1. Compile git master on a system that only has QtGraphicalEffects 1.0
> 2. Run it
> 
> OBSERVED RESULT
> The shell plasmoid fails to load, which causes problems with the task
> manager and probably other things.
> 
> EXPECTED RESULT
> The shell plasmoid should load properly.
> 
> SOFTWARE/OS VERSIONS
> Linux/KDE Plasma: -
> (available in About System)
> KDE Plasma Version: -
> KDE Frameworks Version: -
> Qt Version: 5.12.0
> 
> ADDITIONAL INFORMATION
> Seems to me like either the CMakeLists.txt file should update the dependency
> on 1.2, or downgrade the two qml files that depend on 1.2. I manually
> changed them to import 1.0 instead of 1.2, and it seems to work fine now.

nice!
can you please send a PR at phabricator?
Comment 2 Mathias Tillman 2019-04-23 17:10:35 UTC
Which solution do you think is best? I've been trying to find QtGraphicalEffects 1.2, but the latest I can find seems to be 1.12 - is 1.2 a part of some unreleased Qt version?

I can definitely do a PR, just need to know what solution you want.
Comment 3 Michail Vourlakos 2019-04-23 19:14:26 UTC
(In reply to Mathias Tillman from comment #2)

> I can definitely do a PR, just need to know what solution you want.

let's set "import QtGraphicalEffects 1.0" and in the PR I will be able to tell you what to check if break...

but I dont think there will be any problem
Comment 4 Mathias Tillman 2019-04-23 20:32:22 UTC
Git commit 99454c0b15ba7afbeedea69b0ceb0a7a1f44783a by Mathias Tillman.
Committed on 23/04/2019 at 20:32.
Pushed by mathiastillman into branch 'master'.

Import QtGraphicalEffects 1.0 instead of 1.2 to fix dependency issue.

Summary:
Fixes an issue where the shell plasmoid fails to load when QtGraphicalEffects 1.2 is missing from the system. This causes various issues like the task manager applet failing to load.

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D20774

M  +1    -1    plasmoid/package/contents/ui/taskslayout/ScrollEdgeShadows.qml
M  +1    -1    plasmoid/package/contents/ui/taskslayout/ScrollOpacityMask.qml

https://commits.kde.org/latte-dock/99454c0b15ba7afbeedea69b0ceb0a7a1f44783a