Plasma crashes on an X11-display without RENDER extension ( fix included )
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KDE Base |
Fix Released
|
High
|
|||
kdebase-workspace (Ubuntu) |
Fix Released
|
Low
|
Unassigned |
Bug Description
On Kubuntu-9.04, "plasma" crashes when starting it on an X11-display which does not support the RENDER extension ( such as the nested desktop in DemoRecorder, or maybe also Xnest ).
The source package containing this problem is kdebase-
Here is the fix as a diff:
=======
--- kdebase-
+++ kdebase-
@@ -274,7 +274,8 @@
for (int i = 0; i < nvi; i++) {
- if (format->type == PictTypeDirect && format-
+ //patch by clinhart 20090705 to avoid crash with X11-Displays without Render-extension
+ if (format && format->type == PictTypeDirect && format-
visual = xvi[i].visualid;
break;
}
=======
The problem is that "format" is a NULL-ptr when there is no RENDER extension.
I have added a NULL-ptr check before it is dereferenced, therefore fixing the crash.
Here's the backtrace:
=======
[KCrash Handler]
#6 SystemTray:
#7 0xa983c5cb in SystemTray:
at /build/
#8 0xb66a7ca8 in QMetaObject:
#9 0xb66a8932 in QMetaObject:
#10 0xb66ad0a7 in ?? () from /usr/lib/
#11 0xb66ad1cc in ?? () from /usr/lib/
#12 0xb66a215f in QObject::event () from /usr/lib/
#13 0xb693ef2c in QApplicationPri
#14 0xb694722e in QApplication:
#15 0xb779794d in KApplication:
#16 0xb6691a3b in QCoreApplicatio
#17 0xb66c0d71 in ?? () from /usr/lib/
#18 0xb66bd4e0 in ?? () from /usr/lib/
#19 0xb4ff4b88 in g_main_
#20 0xb4ff80eb in ?? () from /usr/lib/
#21 0xb4ff8268 in g_main_
#22 0xb66bd438 in QEventDispatche
#23 0xb69e03f5 in ?? () from /usr/lib/
#24 0xb669006a in QEventLoop:
#25 0xb66904aa in QEventLoop::exec () from /usr/lib/
#26 0xb6692959 in QCoreApplicatio
#27 0xb693eda7 in QApplication::exec () from /usr/lib/
#28 0xb800db56 in kdemain (argc=1, argv=0xbfe79a74) at /build/
#29 0x08048712 in main (argc=) at /build/
=======
If you have any questions regarding this please tell me and I'll be glad to answer them.
If you need to test it with DemoRecorder, you simply can download it from
http://
(just install. No license needed for the reproduction tests...
"plasma" is automatically started when you start "demorec" )
I can also do the testing for you, once you have integrated the fix...
Best regards,
Chris
Related branches
Changed in kdebase-workspace (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in kdebase: | |
status: | Unknown → Fix Released |
Changed in kdebase: | |
importance: | Unknown → High |
Filed this report upstream. Thanks!