Bug 504921

Summary: Puzzle blocks visible if resizing widget after solving puzzle
Product: [Plasma] plasmashell Reporter: Jan Bidler <janbidler00>
Component: Fifteen Puzzle widgetAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: cwo.kde, nate
Priority: NOR    
Version First Reported In: 6.3.5   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 6.4.0
Sentry Crash Report:
Attachments: video showcasing puzzle pieces appearing on resize after victory

Description Jan Bidler 2025-05-28 16:20:18 UTC
SUMMARY
The puzzle blocks are visible in a janky way if the fifteen widget is resized after solving it.

STEPS TO REPRODUCE
1. Place fifteen widget on desktop with a big-ish size (at approximately 800x600 it's easily visible)
2. Solve the puzzle
3. Resize the fifteen widget to be smaller in width by grabbing a handle on the right and moving it to the left

OBSERVED RESULT
You can see a puzzle block slightly outside the widget's borders on the right moving along to the left

EXPECTED RESULT
No puzzle block should be visible

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.14.0
Qt Version: 6.9.0
Kernel Version: 6.14.6-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 1600 Six-Core Processor
Memory: 15.6 GiB of RAM
Graphics Processor: AMD Radeon RX 570 Series
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: B450M DS3H
Comment 1 Jan Bidler 2025-05-28 16:34:41 UTC
Created attachment 181828 [details]
video showcasing puzzle pieces appearing on resize after victory

Attached a video for clarity
Comment 2 Bug Janitor Service 2025-05-29 14:31:02 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/832
Comment 3 cwo 2025-05-29 21:00:31 UTC
Git commit e162c6ce18cd4b8f4623014f6ecc8b80df6f85c8 by Christoph Wolk.
Committed on 29/05/2025 at 20:51.
Pushed by cwo into branch 'master'.

applets/fifteenpuzzle: hide board instead of covering it when solved

Fifteen Puzzle places a Rectangle over the board when the game is solved
to hide the pieces and display the victory message (and full image if
applicable). This doesn't look nice when put on the desktop with no
image, as the rectangle uses the Theme background color, rather than
the slightly transparent desktop widget color. It also leads to janky
resizing behavior when solved, as the covered pieces may peek out from
behind the rectangle as they are dynamically resized.

Instead, just hide the whole board when it is solved, and replace it
with a victory sceen that does not force a background.

M  +2    -2    applets/fifteenPuzzle/package/contents/ui/FifteenPuzzle.qml

https://invent.kde.org/plasma/kdeplasma-addons/-/commit/e162c6ce18cd4b8f4623014f6ecc8b80df6f85c8
Comment 4 cwo 2025-05-29 21:08:23 UTC
Git commit 12a37b9a4b4d90739fc820fa834f535799484915 by Christoph Wolk.
Committed on 29/05/2025 at 21:00.
Pushed by cwo into branch 'Plasma/6.4'.

applets/fifteenpuzzle: hide board instead of covering it when solved

Fifteen Puzzle places a Rectangle over the board when the game is solved
to hide the pieces and display the victory message (and full image if
applicable). This doesn't look nice when put on the desktop with no
image, as the rectangle uses the Theme background color, rather than
the slightly transparent desktop widget color. It also leads to janky
resizing behavior when solved, as the covered pieces may peek out from
behind the rectangle as they are dynamically resized.

Instead, just hide the whole board when it is solved, and replace it
with a victory sceen that does not force a background.


(cherry picked from commit e162c6ce18cd4b8f4623014f6ecc8b80df6f85c8)

Co-authored-by: Christoph Wolk <cwo.kde@posteo.net>

M  +2    -2    applets/fifteenPuzzle/package/contents/ui/FifteenPuzzle.qml

https://invent.kde.org/plasma/kdeplasma-addons/-/commit/12a37b9a4b4d90739fc820fa834f535799484915