Commit graph

15772 commits

Author SHA1 Message Date
Martin Gräßlin
9bdc7b7d4b Do not move temporary objects
It prevents copy elision according to Clang and of course clang is
right.
2017-07-31 18:24:05 +02:00
Martin Gräßlin
f15ceaffe6 Drop unused variable UdevMonitor::m_udev
Credits to clang for finding unused private fields.
2017-07-31 18:22:14 +02:00
Martin Gräßlin
bca8777acd Drop unused SceneXrender::Window::alpha_cached_opacity
Credits to clang for finding unused private field.
2017-07-31 18:20:07 +02:00
Martin Gräßlin
2858e30882 Drop unused static variables in client.cpp
Credits to clang for finding those.
2017-07-31 18:14:32 +02:00
Martin Gräßlin
e713df1886 [plugins/qpa] Drop unused variable AbstractPlatformContext::m_integration
Credits to clang for finding unused private variable. This allowed to
similify the ctor and remove a const_cast.
2017-07-31 18:09:15 +02:00
Martin Gräßlin
f5845fec02 [plugins/qpa] Properly ifdef everything with HAVE_WAYLAND_EGL
Hide variables which are only used with wayland egl and mark attributes
as unused if they are not used without having wayland egl.
2017-07-31 18:04:53 +02:00
Martin Gräßlin
b3a52e3999 [autotests] Drop PlasmaSurfaceTest::m_connection
Credits to clang for finding unused private variable.
2017-07-31 18:02:00 +02:00
Martin Gräßlin
063e796b18 [effects/backgroundcontrast] Remove ContrastShader::pixelSizeLocation
Credits to clang for finding an unused private variable.
2017-07-31 18:00:17 +02:00
Martin Gräßlin
3f238470c8 [effects/wobblywindows] Move computeVectorBounds into ifdef section
Fixes unused function warning with clang.
2017-07-31 17:58:57 +02:00
Martin Gräßlin
8b2b11196b [kcmkwin/desktop] Use KAboutData::programLogo instead of programIconName
ProgramIconName is deprecated and what we want to achieve is actually
provided by programLogo.
2017-07-31 17:48:59 +02:00
Martin Gräßlin
ca84a81e0d Check for include file before configuring config-kwin.h 2017-07-31 17:34:37 +02:00
David Edmundson
0809a357c1 Improve testWindowScaled test
Summary:
Comparing a pure blue square isn't a very effective test as someone
cropping the image will still pass.

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6982
2017-07-31 15:12:37 +01:00
Martin Gräßlin
bc003c0228 Add cmake check whether sys/sysmacros.h exists
Unfortunately 9ada8baca6 failed to compile
on FreeBSD due to the header not existing. So we need to check the
existance and properly guard with ifdef.
2017-07-30 21:30:33 +02:00
Martin Gräßlin
9ada8baca6 Turn around include order for major/minor
Although we made KWin compile with newer include requirement for major
and minor in gnu libc, we still get the warning that it's deprecated.
So let's try to turn the include order around. That should fix the
warning and hopefully still compile on non gnu libc (e.g. FreeBsd). If
it fails, we need to add a cmakedefine for the header.
2017-07-30 21:20:36 +02:00
Martin Flöser
acedee21a5 [qpa] Fix overloaded-virtual warning 2017-07-30 08:22:32 +02:00
l10n daemon script
ec11cfd04f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2017-07-30 04:57:22 +02:00
Martin Flöser
31e4387852 [platforms/x11] Silence warning caused by eglCreateImageKHR taking an xpixmap for a pointer
Nothing we can do, the API sucks. So just silence warning.
2017-07-29 20:01:11 +02:00
Martin Flöser
859709f10a [libinput] Fix enumeral and non-enumeral type in conditional expression warning 2017-07-29 19:30:59 +02:00
Martin Flöser
656b3c2db5 [libinput] Fix reorder warnings 2017-07-29 19:29:08 +02:00
Martin Flöser
3eb3e64d91 [platforms/x11] Fix int-in-bool-context warning
The intention is to prevent division by zero, so make this explicit by
comparing the values against 0.
2017-07-29 19:09:14 +02:00
Martin Flöser
f47cc62180 Fix unuxed-but-set-variable warning 2017-07-29 19:01:55 +02:00
Martin Flöser
1447f4641c [autotests] Fix unused function warnings
The functions are defined in a common header but not used in all tests.
This creates needless warning noise, so hide them through an ifdef.
2017-07-29 18:47:58 +02:00
Martin Flöser
349618c214 Move bitCount from utils to GlxBackend
Only used in GlxBackend.

Differential Revision: https://phabricator.kde.org/D6784
2017-07-29 17:52:44 +02:00
Martin Flöser
da036098cf Nullptr check for rootInfo when setting active client
Summary:
Preparation for X free KWin. Code is called for both X11 and Wayland
windows. So make it not crash if we would not have an X server.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6908
2017-07-29 17:44:11 +02:00
Martin Flöser
150a0357b4 Replace delegate slots for window shortcut by std::bind expressions
Summary:
Client had a slot to delay a call when setting up a global shortcut for
the Client. This can be simplified by using a std::bind expression.
Similar the action was connected to a one line lambda which can be
expressed through a std::bind expression as well.

Test Plan: New added auto test still passes

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6801
2017-07-29 17:43:38 +02:00
Martin Flöser
c8c15f0057 Use std::bind expression for Workspace::slotWindowtoDesktop
Summary:
This way we don't need the sender() hack to get the value set on the
QAction.

Test Plan: New autotest in master still passes

Reviewers: #kwin, #plasma

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D6811
2017-07-29 17:41:33 +02:00
Martin Flöser
7d3517060f Drop the Workspace::slotSwitchWindowFoo methods
Summary:
They were only delegating into switchWindow(Direction), so let's do the
same through std::bind in kwinbindings and delegate to it directly in
scripting's WorkspaceWrapper.

Test Plan: Not yet, want to add test case for Workspace::switchWindow

Reviewers: #kwin, #plasma

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D6791
2017-07-29 17:40:55 +02:00
Martin Flöser
64da6c8d1e Replace Workspace::slotWindowQuickTileFoo by a quickTileWindow with argument
Summary:
Thanks to std::bind we don't need that many different slots to setup the
global shortcut connections. Instead we can have one shared
implementation which takes the argument and passes it to the window.

To support std::bind arguments in kwinbindings the initShortcut method
and dependencies are adjusted as well as a new macro is added.

As I don't want to include abstract_client.h in workspace.h a new enum
is created for the quick tiling flags used in Workspace. This caused a
larger refactoring as the change to an enum class also caused quite some
changes.

Test Plan: Affected test cases still pass

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6783
2017-07-29 17:40:03 +02:00
l10n daemon script
f14540485f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2017-07-29 04:45:55 +02:00
Martin Flöser
8527ac30dc Fix unused-parameter warnings as reported by GCC 2017-07-28 21:31:09 +02:00
Martin Flöser
e8a92361ae [autotests] Perform complete QImage comparison in SceneQPainterTest::testX11Window
As pixel comparison is failing, let's just compare the image against a
reference image.
2017-07-28 21:17:59 +02:00
Martin Flöser
06433997e8 Emit connectionDied on all Wayland connections of plugins on teardown
Summary:
Some libraries loaded into KWin (e.g. breeze) also have a Wayland
connection. If KWin destroyes it's own Wayland connection before the
libraries destroy theirs, KWin might crash on tear down when the
libraries call into libwayland with an invalid connection.

This change requires D6569 in KWayland.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6571
2017-07-28 20:30:54 +02:00
David Edmundson
777f7009ed Merge branch 'Plasma/5.10' 2017-07-28 12:52:31 +01:00
David Edmundson
308ab76428 Update KNS providers to https
CCBUG: 382820
2017-07-28 12:51:41 +01:00
Martin Flöser
719d09d0cd -Wno-inconsistent-missing-override on Clang
This is a totally stupid warning for an older code base such as KWin. It
generates hundreds of warnings as on legacy code no method uses override.
The output is totally spammed, so it's better to disable it.

This will hopefully also prevent that someone tries to fix it again by
changing all of KWin - which we don't want.
2017-07-28 07:00:56 +02:00
Martin Flöser
f6c964a32b [autotests] Another change for SceneQPainterTest::testX11Window to make it pass CI
Still missing ideas, theory is that rendering on Xwayland is too slow and
we have an invalid buffer or that reparenting took to long.
2017-07-28 06:50:00 +02:00
Martin Flöser
eee2ace6a1 Make Q_FALLTHROUGH code compile with Qt < 5.8
sorry for breaking FreeBSD CI build. I didn't expect Q_FALLTHROUGH being
newer.
2017-07-27 21:51:47 +02:00
Martin Flöser
a13ecb1cac [autotests] Try to make SceneQPainterTest::testX11Window more robust
Still failing on CI, let's try  to verify that the buffer is ready.
2017-07-27 21:34:48 +02:00
Martin Flöser
4b89011099 Fix (incorrect) implicit-fallthrough warnings in gcc7
All cases are annotated that it's an explicit fallthrough, so add
Q_FALLTHROUGH to silence the warning.
2017-07-27 20:46:44 +02:00
Martin Flöser
d39fea1b67 [autotests] Try to make SceneQPainterTest::testX11Window more robust
It fails on build.kde.org which might be a side effect.
2017-07-27 20:36:52 +02:00
Martin Flöser
54ca2bba25 [autotests] Add test case for incorrect rendering of XWayland on SceneQPainter
CCBUG: 382748
2017-07-27 17:09:40 +02:00
l10n daemon script
ccc69e8105 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2017-07-26 08:52:42 +02:00
Martin Flöser
1557f102f4 [autotests] Add test cases for verifying that Toplevel::window() is only set for X11
Also at the same time verifies that root info active client is only
set on X11.
2017-07-26 07:08:27 +02:00
Andreas Sturmlechner
35c278e525 Fix build with future glibc (major/minor macros), BSD compatible
Summary:
Also adding sys/types.h which is not implicitly included from all over.

Thanks-to: [ade] in #kde-devel

See also:
https://sourceware.org/ml/libc-alpha/2015-11/msg00452.html
https://git.reviewboard.kde.org/r/127662/

BUG: 376505

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: graesslin, plasma-devel, kwin, #kwin, adridg

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D6175
2017-07-25 22:16:11 +02:00
Martin Flöser
f5f14475b5 [autotests] Try to make PlasmaWindowTest::testCreateDestroyX11PlasmaWindow more robust
The test was racing on build.kde.org and failing due to that. We have
a condition there where we wait for some parts being transmitted through
X and some through Wayland. The test assumed X is faster and failed due
to that.
2017-07-25 21:19:11 +02:00
Martin Flöser
c29d6093ba Implement support for window shortcuts for Wayland windows
Summary:
Moves most of the implementation from Client to AbstractClient, so that
it can be used for both Client and ShellClient. Only the X11 specific
code is kept in Client.

Not yet implemented is updating the window caption.

Unfortunately the testing of this feature showed that setting a window
shortcut is not working on Wayland at all (the Qt widget doesn't properly
catch the shortcut). So this feature is currently only of erm theoretical
use.

Test Plan: Added new test case. No testing in real world as explained.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6818
2017-07-25 07:12:42 +02:00
Martin Flöser
ddd957f0a6 Merge branch 'Plasma/5.10' 2017-07-25 07:10:45 +02:00
Martin Flöser
4c996a57d4 Call Platform::setupActionForGlobalAccel on the Client shortcut
Summary:
Platform::setupActionForGlobalAccel is an important call on X11 platform.
Without the x11 timestamp doesn't get updated and calls in KWin might
fail - e.g. the activation of the Client which is supposed to happen.

Test Plan: compiles

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6802
2017-07-25 07:09:41 +02:00
Tobias C. Berner
a512f54924 Hide the Linux specific parts behind check for headers
Summary:
Only build
  * `virtual_terminal.cpp` in the presence of `linux/vt.h`
  * `fbdev`-backend in the precense of `linux/fb.h`

Test Plan:

Reviewers: #kwin, #freebsd, graesslin, bcooksley

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6847
2017-07-24 16:19:27 +02:00
Martin Gräßlin
a1af59e9dd [autotests] Extend X11ClientTest::testFullscreenLayerWithActiveWaylandWindow
Unfortunately still doesn't trigger the actual bug.
2017-07-23 20:02:57 +02:00