> On March 12, 2015, 1:40 p.m., Martin Gräßlin wrote: > > For the record I reverted with > > http://commits.kde.org/plasma-workspace/c4c7e6d53f66fbdd6d58b40e5f3b443c6cf2e197: > > > > The reason for revertion is that it leaks pixmaps. > > QX11Info::display should not return a nullptr if there is no QScreen. > > This needs fixing in Qt, not workarounds in our software. None of our > > X11 specific code in plasma-workspace or frameworks can handle the case > > that the Display* or xcb_connection_t* becomes null suddenly. Neither > > can Qt internally. If it would happen Qt would abort. > > > > The only application in our workspace which would be "somewhat" safe > > is KWin because it caches the returned Display after first invokation > > to QX11Info::display.
Now someone has told me about the problem, I can fix this trivially in Qt. - Richard ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/122909/#review77369 ----------------------------------------------------------- On March 12, 2015, 1:24 p.m., Jan Kundrát wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/122909/ > ----------------------------------------------------------- > > (Updated March 12, 2015, 1:24 p.m.) > > > Review request for Plasma. > > > Repository: plasma-workspace > > > Description > ------- > > Fix segfault with missing screens > > This is to keep up with the Qt 5.5 changes with null QScreen. BT: > > #0 XInternAtom (dpy=0x0, name=0x7f1195725664 "_KDE_NET_WM_SHADOW", > onlyIfExists=0) > at > /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/IntAtom.c:174 > #1 0x00007f11956e438c in PanelShadows::Private::clearShadow > (this=<optimized out>, window=0x7f119958ff90) > at > /var/tmp/portage/kde-plasma/plasma-workspace-5.2.1/work/plasma-workspace-5.2.1/shell/panelshadows.cpp:494 > #2 0x00007f11956e7139 in PanelShadows::removeWindow (this=0x7f119593b060 > <(anonymous > namespace)::Q_QGS_privateDialogShadowsSelf::innerFunction()::holder>, > window=window@entry=0x7f119958ff90) > at > /var/tmp/portage/kde-plasma/plasma-workspace-5.2.1/work/plasma-workspace-5.2.1/shell/panelshadows.cpp:142 > #3 0x00007f11956dd8f5 in PanelView::~PanelView (this=0x7f119958ff90, > __in_chrg=<optimized out>) > at > /var/tmp/portage/kde-plasma/plasma-workspace-5.2.1/work/plasma-workspace-5.2.1/shell/panelview.cpp:124 > #4 0x00007f11956dd9af in PanelView::~PanelView (this=0x7f119958ff90, > __in_chrg=<optimized out>) > at > /var/tmp/portage/kde-plasma/plasma-workspace-5.2.1/work/plasma-workspace-5.2.1/shell/panelview.cpp:125 > #5 0x00007f11956effa8 in ShellCorona::removeView (this=0x7f1196c19b40, > idx=0) at > /var/tmp/portage/kde-plasma/plasma-workspace-5.2.1/work/plasma-workspace-5.2.1/shell/shellcorona.cpp:710 > #6 0x00007f11956f0038 in ShellCorona::remove > (this=this@entry=0x7f1196c19b40, desktopView=<optimized out>) > at > /var/tmp/portage/kde-plasma/plasma-workspace-5.2.1/work/plasma-workspace-5.2.1/shell/shellcorona.cpp:662 > #7 0x00007f11956f009f in ShellCorona::screenRemoved (this=0x7f1196c19b40, > screen=<optimized out>) > at > /var/tmp/portage/kde-plasma/plasma-workspace-5.2.1/work/plasma-workspace-5.2.1/shell/shellcorona.cpp:743 > > > Diffs > ----- > > shell/panelshadows.cpp c97564a2417a66e17a1a02237155f19addf2b9c7 > > Diff: https://git.reviewboard.kde.org/r/122909/diff/ > > > Testing > ------- > > > Thanks, > > Jan Kundrát > >
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel