Bug 451527

Summary: When I cancel local installation of an already installed cursor theme, Cursors KCM unexpectedly says 'Theme installed successfully'
Product: [Applications] systemsettings Reporter: Patrick Silva <bugseforuns>
Component: kcm_cursorthemeAssignee: Plasma Bugs List <plasma-bugs-null>
Status: CONFIRMED ---    
Severity: normal CC: nate
Priority: NOR    
Version First Reported In: 5.27.80   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: cursor theme
screen recording

Description Patrick Silva 2022-03-15 13:25:19 UTC
Created attachment 147509 [details]
cursor theme

STEPS TO REPRODUCE
1. download the attached cursor theme
2. go to System Settings > Appearance > Cursors
3. click on 'Install from file...' button and double-click on the downloaded cursor theme
4. repeat the step 3 (a dialog shows up)
5. click on 'Cancel' button of the dialog

OBSERVED RESULT
an inline message says 'Theme installed successfully'. Please watch the attached screen recording.

EXPECTED RESULT
no message

SOFTWARE/OS VERSIIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.24.80
KDE Frameworks Version: 5.93.0
Qt Version: 5.15.3
Graphics Platform: Wayland
Comment 1 Patrick Silva 2022-03-15 13:25:40 UTC
Created attachment 147510 [details]
screen recording
Comment 2 Nate Graham 2022-03-25 16:43:57 UTC
When I try to install that cursor theme but it's not already installed, System Settings actually crashes.

Application: System Settings (systemsettings), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0}
[KCrash Handler]
#5  QString::QString (other=..., this=0x7fff2227fe70) at /usr/include/qt5/QtCore/qstring.h:1093
#6  CursorTheme::name (this=0x0) at /home/nate/kde/src/plasma-workspace/kcms/cursortheme/xcursor/cursortheme.h:66
#7  CursorThemeConfig::cursorThemeFromIndex (this=0x1e84670, index=<optimized out>) at /home/nate/kde/src/plasma-workspace/kcms/cursortheme/kcmcursortheme.cpp:291
#8  0x00007f901995c87e in CursorThemeConfig::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7fff22280030) at /home/nate/kde/build/plasma-workspace/kcms/cursortheme/kcm_cursortheme_autogen/EWIEGA46WW/moc_kcmcursortheme.cpp:194
#9  0x00007f901995cd8b in CursorThemeConfig::qt_metacall (this=0x1e84670, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0x7fff22280030) at /home/nate/kde/build/plasma-workspace/kcms/cursortheme/kcm_cursortheme_autogen/EWIEGA46WW/moc_kcmcursortheme.cpp:347


Does that ever happen to you?
Comment 3 Nate Graham 2022-03-25 16:46:50 UTC
And when it is already installed and I try to reinstall it, I get an overwrite dialog as expected. When I cancel it, System settings crashes.

I suppose if it didn't crash, I would probably see the "cursor theme installed" message, because it looks like canceling causes it to get installed anyway. So I can confirm that.
Comment 4 Patrick Silva 2022-03-27 13:59:48 UTC
(In reply to Nate Graham from comment #2)
> When I try to install that cursor theme but it's not already installed,
> System Settings actually crashes.
> 
> Application: System Settings (systemsettings), signal: Segmentation fault
> Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0}
> [KCrash Handler]
> #5  QString::QString (other=..., this=0x7fff2227fe70) at
> /usr/include/qt5/QtCore/qstring.h:1093
> #6  CursorTheme::name (this=0x0) at
> /home/nate/kde/src/plasma-workspace/kcms/cursortheme/xcursor/cursortheme.h:66
> #7  CursorThemeConfig::cursorThemeFromIndex (this=0x1e84670,
> index=<optimized out>) at
> /home/nate/kde/src/plasma-workspace/kcms/cursortheme/kcmcursortheme.cpp:291
> #8  0x00007f901995c87e in CursorThemeConfig::qt_static_metacall
> (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>,
> _a=0x7fff22280030) at
> /home/nate/kde/build/plasma-workspace/kcms/cursortheme/
> kcm_cursortheme_autogen/EWIEGA46WW/moc_kcmcursortheme.cpp:194
> #9  0x00007f901995cd8b in CursorThemeConfig::qt_metacall (this=0x1e84670,
> _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0x7fff22280030) at
> /home/nate/kde/build/plasma-workspace/kcms/cursortheme/
> kcm_cursortheme_autogen/EWIEGA46WW/moc_kcmcursortheme.cpp:347
> 
> 
> Does that ever happen to you?

I was unable to reproduce your crash with another user account.