KWindowSystem: initial implementation of a platform plugin for OS X
Needs ReviewPublic

Authored by rjvbb on Mar 16 2017, 4:22 PM.

Details

Reviewers
None
Group Reviewers
Frameworks
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.35.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.

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped
rjvbb created this revision.Mar 16 2017, 4:22 PM
rjvbb updated this revision to Diff 15380.Jun 12 2017, 2:27 PM
rjvbb edited the summary of this revision. (Show Details)

rebased on v4.100.0-rc1-220-g0196c66

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.Jun 12 2017, 2:28 PM
rjvbb edited the test plan for this revision. (Show Details)
rjvbb set the repository for this revision to R278 KWindowSystem.
rjvbb updated this revision to Diff 20237.Oct 2 2017, 11:31 AM

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).

rjvbb set the repository for this revision to R278 KWindowSystem.Oct 2 2017, 11:32 AM