Discussion:
D5069: initial implementation of a platform plugin for OS X
René J.V. Bertin
2017-03-16 16:22:14 UTC
Permalink
rjvbb created this revision.
rjvbb added a project: Frameworks.

REVISION SUMMARY
KWindowSystem has been and is still lacking a platform plugin for OS X. A ReviewBoard RR has been up with a "backport" of the modified KDE4 KWindowSystem implementation that has been used in the MacPorts kdelibs4 port for the last 2 or 3 (or more) years. This is a continuation of that request, still open at https://git.reviewboard.kde.org/r/126291

There's 1 outstanding issue on that RR (https://git.reviewboard.kde.org/r/126291/#comment68028). I have also reintroduced a small change to `KWindowSystem::setMainWindow()` so that it doesn't cause crashing. Ideally this function would be part of the backend but that's too big of a change to graft on the current patch.

TEST PLAN
Thoroughly tested up to and include with Qt 5.8.0 and KF5 Frameworks 5.32.0

The Mac backend code also contains a number of experimental functions that have been deactivated with #ifdefs . At this point I cannot assess their true potential importance; I do not seem to miss them for now but it certainly wouldn't hurt for instance to be able to map windows to applications.
I'd vote to leave in the code in question until it's clearer from feedback whether or not we need it.

REPOSITORY
R278 KWindowSystem

REVISION DETAIL
https://phabricator.kde.org/D5069

AFFECTED FILES
src/kwindowsystem.cpp
src/kwindowsystem.h
src/platforms/osx/CMakeLists.txt
src/platforms/osx/cocoa.json
src/platforms/osx/kkeyserver.cpp
src/platforms/osx/kwindowinfo.cpp
src/platforms/osx/kwindowinfo.mm
src/platforms/osx/kwindowinfo_mac_p.h
src/platforms/osx/kwindowinfo_p_cocoa.h
src/platforms/osx/kwindowsystem.cpp
src/platforms/osx/kwindowsystem_mac_p.h
src/platforms/osx/kwindowsystem_macobjc.mm
src/platforms/osx/kwindowsystem_p_cocoa.h
src/platforms/osx/plugin.cpp
src/platforms/osx/plugin.h

To: rjvbb, #frameworks
Cc: kde-mac, #frameworks
René J.V. Bertin
2017-06-12 14:28:05 UTC
Permalink
rjvbb retitled this revision from "initial implementation of a platform plugin for OS X" to "KWindowSystem: initial implementation of a platform plugin for OS X".
rjvbb edited the test plan for this revision.
rjvbb set the repository for this revision to R278 KWindowSystem.

REPOSITORY
R278 KWindowSystem

REVISION DETAIL
https://phabricator.kde.org/D5069

To: rjvbb, #frameworks
Cc: kde-mac, #frameworks
René J.V. Bertin
2017-06-12 14:28:05 UTC
Permalink
rjvbb updated this revision to Diff 15380.
rjvbb edited the summary of this revision.
rjvbb added a comment.


rebased on v4.100.0-rc1-220-g0196c66

CHANGES SINCE LAST UPDATE
https://phabricator.kde.org/D5069?vs=12521&id=15380

REVISION DETAIL
https://phabricator.kde.org/D5069

AFFECTED FILES
src/kwindowsystem.cpp
src/kwindowsystem.h
src/platforms/CMakeLists.txt
src/platforms/osx/CMakeLists.txt
src/platforms/osx/cocoa.json
src/platforms/osx/kkeyserver.cpp
src/platforms/osx/kwindowinfo.cpp
src/platforms/osx/kwindowinfo.mm
src/platforms/osx/kwindowinfo_mac_p.h
src/platforms/osx/kwindowinfo_p_cocoa.h
src/platforms/osx/kwindowsystem.cpp
src/platforms/osx/kwindowsystem_mac_p.h
src/platforms/osx/kwindowsystem_macobjc.mm
src/platforms/osx/kwindowsystem_p_cocoa.h
src/platforms/osx/plugin.cpp
src/platforms/osx/plugin.h

To: rjvbb, #frameworks
Cc: kde-mac, #frameworks
René J.V. Bertin
2017-10-02 11:32:28 UTC
Permalink
rjvbb updated this revision to Diff 20237.
rjvbb added a comment.


Refactored patch (includes the Q_DECL_HIDDEN mods added elsewhere recently).

If there are no further objections other than about the EXPERIMENTAL stuff I'll push this somewhere this week (without the experimental bits).

CHANGES SINCE LAST UPDATE
https://phabricator.kde.org/D5069?vs=15380&id=20237

REVISION DETAIL
https://phabricator.kde.org/D5069

AFFECTED FILES
src/kwindowsystem.cpp
src/kwindowsystem.h
src/platforms/CMakeLists.txt
src/platforms/osx/CMakeLists.txt
src/platforms/osx/cocoa.json
src/platforms/osx/kkeyserver.cpp
src/platforms/osx/kwindowinfo.cpp
src/platforms/osx/kwindowinfo.mm
src/platforms/osx/kwindowinfo_mac_p.h
src/platforms/osx/kwindowinfo_p_cocoa.h
src/platforms/osx/kwindowsystem.cpp
src/platforms/osx/kwindowsystem_mac_p.h
src/platforms/osx/kwindowsystem_macobjc.mm
src/platforms/osx/kwindowsystem_p_cocoa.h
src/platforms/osx/plugin.cpp
src/platforms/osx/plugin.h

To: rjvbb, #frameworks
Cc: kde-mac, #frameworks
René J.V. Bertin
2017-10-02 11:32:39 UTC
Permalink
rjvbb set the repository for this revision to R278 KWindowSystem.

REPOSITORY
R278 KWindowSystem

REVISION DETAIL
https://phabricator.kde.org/D5069

To: rjvbb, #frameworks
Cc: kde-mac, #frameworks

Loading...