Review Request 127166: Fix xcb port of klauncher and clean up the code.

Xuetian Weng wengxt at gmail.com
Fri Mar 4 22:51:25 UTC 2016


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127166/
-----------------------------------------------------------

(Updated March 4, 2016, 10:51 p.m.)


Review request for KDE Frameworks, David Faure and Martin Gräßlin.


Repository: kinit


Description
-------

The ported klauncher at least has two bugs:
1. IMHO, it should compare the cached display string with == instead of != (though != has been there since the old kdelibs, but it just doesn't look correct to me, what's the point of assign dpy = mCached_dpy when dpy_str != XDisplayString(dpy)? And what's the point use == in one place and != in other two places? ).
2. it might free the cached connection without setting mCached.conn back to nullptr, which could lead to double free or freeze when system logout.

This patch refactor the code a little bit with a helper function to update the cached connection instead of duplicate the same logic everywhere. getXCBConnection() will make sure the returned connection is error-free, reuse the cached connection if possible, and update the cached connection if needed.


Diffs (updated)
-----

  src/klauncher/klauncher.h 31bfaaa 
  src/klauncher/klauncher.cpp 7ea9da9 

Diff: https://git.reviewboard.kde.org/r/127166/diff/


Testing
-------

Compiles, startup notify works.


Thanks,

Xuetian Weng

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160304/e4fa4983/attachment.html>


More information about the Kde-frameworks-devel mailing list