- 14 Sep, 2019 4 commits
-
-
Frederik Gladhorn authored
Summary: This has been commented out since 2014, I doubt it will come back. This is a big amount of code, maintenance will be easier without it. Reviewers: #kwin, zzag Reviewed By: #kwin, zzag Subscribers: romangg, graesslin, kwin Tags: #kwin, #documentation Differential Revision: https://phabricator.kde.org/D23069
-
Frederik Gladhorn authored
Summary: Revision 9a59e3fb removed the ghns button, but did not remove the corresponding entry in the tab focus chain. Reviewers: #kwin, ngraham, zzag Reviewed By: #kwin, zzag Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23936
-
Frederik Gladhorn authored
-
Script Kiddy authored
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"
-
- 13 Sep, 2019 2 commits
-
-
Vlad Zahorodnii authored
Summary: m_currentTemp can be equal to targetTemp when resetSlowUpdateTimer is called. resetSlowUpdateTimer doesn't handle that case, which results in an FP exception being raised: ==20103==ERROR: AddressSanitizer: FPE on unknown address 0x7f40857d5ca6 (pc 0x7f40857d5ca6 bp 0x7ffccd95c330 sp 0x7ffccd95c220 T0) #0 0x7f40857d5ca5 in KWin::ColorCorrect::Manager::resetSlowUpdateTimer() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/colorcorrection/manager.cpp:417 #1 0x7f40857d521d in KWin::ColorCorrect::Manager::resetSlowUpdateStartTimer() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/colorcorrection/manager.cpp:388 #2 0x7f40857d42d5 in KWin::ColorCorrect::Manager::resetQuickAdjustTimer() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/colorcorrection/manager.cpp:324 #3 0x7f40857d3ac1 in KWin::ColorCorrect::Manager::resetAllTimers() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/colorcorrection/manager.cpp:286 #4 0x7f40857d0311 in KWin::ColorCorrect::Manager::hardReset() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/colorcorrection/manager.cpp:152 #5 0x7f40857d038d in KWin::ColorCorrect::Manager::reparseConfigAndReset() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/colorcorrection/manager.cpp:159 #6 0x420e75 in ColorCorrectNightColorTest::testConfigRead() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/autotests/integration/colorcorrect_nightcolor_test.cpp:126 #7 0x4326b4 in ColorCorrectNightColorTest::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/build/autotests/integration/testColorCorrectNightColor_waylandonly_autogen/include/colorcorrect_nightcolor_test.moc:98 #8 0x7f407a80a94a in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (/usr/lib64/libQt5Core.so.5+0x29694a) #9 0x7f40840a8962 (/usr/lib64/libQt5Test.so.5+0x19962) #10 0x7f40840a9352 (/usr/lib64/libQt5Test.so.5+0x1a352) #11 0x7f40840a9910 (/usr/lib64/libQt5Test.so.5+0x1a910) #12 0x7f40840a9cda in QTest::qRun() (/usr/lib64/libQt5Test.so.5+0x1acda) #13 0x7f40840a9edb in QTest::qExec(QObject*, int, char**) (/usr/lib64/libQt5Test.so.5+0x1aedb) #14 0x432428 in main /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/autotests/integration/colorcorrect_nightcolor_test.cpp:338 #15 0x7f407a095bca in __libc_start_main (/lib64/libc.so.6+0x26bca) #16 0x413ea9 in _start (/home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/build/bin/testColorCorrectNightColor_waylandonly+0x413ea9) Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23914
-
Script Kiddy authored
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"
-
- 12 Sep, 2019 7 commits
-
-
Vlad Zahorodnii authored
-
Nate Graham authored
-
Björn Feber authored
Summary: {F7344129} Test Plan: Open the {nav Desktop Effects} KCM. Reviewers: #kwin, #plasma, #vdg, davidedmundson, ngraham Reviewed By: #kwin, #plasma, #vdg, davidedmundson, ngraham Subscribers: ngraham, kwin, #vdg, #plasma, #kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23913
-
Vlad Zahorodnii authored
-
Vlad Zahorodnii authored
-
Vlad Zahorodnii authored
-
Script Kiddy authored
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"
-
- 11 Sep, 2019 4 commits
-
-
Vlad Zahorodnii authored
-
Vlad Zahorodnii authored
QImage::sizeInBytes() was introduced in Qt 5.10.
-
Laurent Montel authored
-
Script Kiddy authored
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"
-
- 10 Sep, 2019 6 commits
-
-
Frederik Gladhorn authored
Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23829
-
Vlad Zahorodnii authored
-
Vlad Zahorodnii authored
Currently internal window test fails because several internal clients outlive tests where each one of them was created. Given that the scene doesn't specify the context object when it creates screenScaleChanged connection, we may call windowGeometryShapeChanged on a deleted scene object. ASAN output: ================================================================= ==23416==ERROR: AddressSanitizer: heap-use-after-free on address 0x60800005ffe0 at pc 0x7fdfb0451c26 bp 0x7fffc32fefb0 sp 0x7fffc32fefa8 READ of size 8 at 0x60800005ffe0 thread T0 #0 0x7fdfb0451c25 in QHash<KWin::Toplevel*, KWin::Scene::Window*>::findNode(KWin::Toplevel* const&, unsigned int*) const /usr/include/qt5/QtCore/qhash.h:933 #1 0x7fdfb044c1eb in QHash<KWin::Toplevel*, KWin::Scene::Window*>::contains(KWin::Toplevel* const&) const /usr/include/qt5/QtCore/qhash.h:908 #2 0x7fdfb04369c1 in KWin::Scene::windowGeometryShapeChanged(KWin::Toplevel*) /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/scene.cpp:440 #3 0x7fdfb045c017 in void std::__invoke_impl<void, void (KWin::Scene::*&)(KWin::Toplevel*), KWin::Scene*&, KWin::Toplevel*&>(std::__invoke_memfun_deref, void (KWin::Scene::*&)(KWin::Toplevel*), KWin::Scene*&, KWin::Toplevel*&) /usr/include/c++/9/bits/invoke.h:73 #4 0x7fdfb045ba9c in std::__invoke_result<void (KWin::Scene::*&)(KWin::Toplevel*), KWin::Scene*&, KWin::Toplevel*&>::type std::__invoke<void (KWin::Scene::*&)(KWin::Toplevel*), KWin::Scene*&, KWin::Toplevel*&>(void (KWin::Scene::*&)(KWin::Toplevel*), KWin::Scene*&, KWin::Toplevel*&) /usr/include/c++/9/bits/invoke.h:95 #5 0x7fdfb045bc84 in void std::_Bind<void (KWin::Scene::*(KWin::Scene*, KWin::Toplevel*))(KWin::Toplevel*)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) /usr/include/c++/9/functional:400 #6 0x7fdfb045b7c0 in void std::_Bind<void (KWin::Scene::*(KWin::Scene*, KWin::Toplevel*))(KWin::Toplevel*)>::operator()<, void>() /usr/include/c++/9/functional:484 #7 0x7fdfb045b3c2 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, std::_Bind<void (KWin::Scene::*(KWin::Scene*, KWin::Toplevel*))(KWin::Toplevel*)> >::call(std::_Bind<void (KWin::Scene::*(KWin::Scene*, KWin::Toplevel*))(KWin::Toplevel*)>&, void**) /usr/include/qt5/QtCore/qobjectdefs_impl.h:146 #8 0x7fdfb045abd4 in void QtPrivate::Functor<std::_Bind<void (KWin::Scene::*(KWin::Scene*, KWin::Toplevel*))(KWin::Toplevel*)>, 0>::call<QtPrivate::List<>, void>(std::_Bind<void (KWin::Scene::*(KWin::Scene*, KWin::Toplevel*))(KWin::Toplevel*)>&, void*, void**) /usr/include/qt5/QtCore/qobjectdefs_impl.h:256 #9 0x7fdfb045a5b6 in QtPrivate::QFunctorSlotObject<std::_Bind<void (KWin::Scene::*(KWin::Scene*, KWin::Toplevel*))(KWin::Toplevel*)>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/qt5/QtCore/qobjectdefs_impl.h:439 #10 0x7fdfa5794137 in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib64/libQt5Core.so.5+0x2b3137) #11 0x7fdfafeea2ca in KWin::Toplevel::screenScaleChanged() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/build/kwin_autogen/EWIEGA46WW/moc_toplevel.cpp:834 #12 0x7fdfb0425712 in KWin::Toplevel::checkScreen() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/toplevel.cpp:538 #13 0x7fdfafee3221 in KWin::Toplevel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/build/kwin_autogen/EWIEGA46WW/moc_toplevel.cpp:371 #14 0x7fdfa5793fd7 in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib64/libQt5Core.so.5+0x2b2fd7) #15 0x7fdfafedefca in KWin::Screens::changed() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/build/kwin_autogen/EWIEGA46WW/moc_screens.cpp:276 #16 0x7fdf9a199281 in operator() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/plugins/platforms/virtual/screens_virtual.cpp:45 #17 0x7fdf9a199c7b in call /usr/include/qt5/QtCore/qobjectdefs_impl.h:146 #18 0x7fdf9a199b50 in call<QtPrivate::List<bool>, void> /usr/include/qt5/QtCore/qobjectdefs_impl.h:256 #19 0x7fdf9a199afc in impl /usr/include/qt5/QtCore/qobjectdefs_impl.h:439 #20 0x7fdfa5794137 in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib64/libQt5Core.so.5+0x2b3137) #21 0x7fdf9a17a37b in KWin::VirtualBackend::virtualOutputsSet(bool) /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/build/plugins/platforms/virtual/KWinWaylandVirtualBackend_autogen/EWIEGA46WW/moc_virtual_backend.cpp:177 #22 0x7fdf9a18c476 in KWin::VirtualBackend::setVirtualOutputs(int, QVector<QRect>, QVector<int>) /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/plugins/platforms/virtual/virtual_backend.cpp:141 #23 0x7fdf9a1794e2 in KWin::VirtualBackend::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/build/plugins/platforms/virtual/KWinWaylandVirtualBackend_autogen/EWIEGA46WW/moc_virtual_backend.cpp:94 #24 0x7fdfa577794a in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (/usr/lib64/libQt5Core.so.5+0x29694a) #25 0x7fdfa57790d1 in QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (/usr/lib64/libQt5Core.so.5+0x2980d1) #26 0x45a3e0 in QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) /usr/include/qt5/QtCore/qobjectdefs.h:444 #27 0x44bf37 in KWin::InternalWindowTest::testScale() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/autotests/integration/internal_window.cpp:693 #28 0x4562ec in KWin::InternalWindowTest::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/build/autotests/integration/testInternalWindow_autogen/include/internal_window.moc:169 #29 0x7fdfa577794a in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (/usr/lib64/libQt5Core.so.5+0x29694a) #30 0x7fdfaf047962 (/usr/lib64/libQt5Test.so.5+0x19962) #31 0x7fdfaf048352 (/usr/lib64/libQt5Test.so.5+0x1a352) #32 0x7fdfaf048910 (/usr/lib64/libQt5Test.so.5+0x1a910) #33 0x7fdfaf048cda in QTest::qRun() (/usr/lib64/libQt5Test.so.5+0x1acda) #34 0x7fdfaf048edb in QTest::qExec(QObject*, int, char**) (/usr/lib64/libQt5Test.so.5+0x1aedb) #35 0x455d7b in main /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/autotests/integration/internal_window.cpp:807 #36 0x7fdfa5002bca in __libc_start_main (/lib64/libc.so.6+0x26bca) #37 0x415029 in _start (/home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/build/bin/testInternalWindow+0x415029) 0x60800005ffe0 is located 64 bytes inside of 96-byte region [0x60800005ffa0,0x608000060000) freed by thread T0 here: #0 0x7fdfb2042595 in operator delete(void*, unsigned long) (/usr/lib64/libasan.so.5+0x10d595) #1 0x7fdf98774c4e in KWin::SceneQPainter::~SceneQPainter() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/plugins/scenes/qpainter/scene_qpainter.cpp:70 #2 0x7fdfb03fef41 in KWin::Compositor::stop() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/composite.cpp:451 #3 0x7fdfb03fffe6 in KWin::Compositor::reinitialize() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/composite.cpp:527 #4 0x7fdfb03ffe2f in KWin::Compositor::configChanged() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/composite.cpp:517 #5 0x7fdfaffaf481 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KWin::Compositor::*)()>::call(void (KWin::Compositor::*)(), KWin::Compositor*, void**) /usr/include/qt5/QtCore/qobjectdefs_impl.h:152 #6 0x7fdfaffa4deb in void QtPrivate::FunctionPointer<void (KWin::Compositor::*)()>::call<QtPrivate::List<>, void>(void (KWin::Compositor::*)(), KWin::Compositor*, void**) /usr/include/qt5/QtCore/qobjectdefs_impl.h:185 #7 0x7fdfaff9c765 in QtPrivate::QSlotObject<void (KWin::Compositor::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/qt5/QtCore/qobjectdefs_impl.h:414 #8 0x7fdfa5794137 in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib64/libQt5Core.so.5+0x2b3137) #9 0x7fdfafed441e in KWin::Options::configChanged() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/build/kwin_autogen/EWIEGA46WW/moc_options.cpp:1790 #10 0x7fdfb02584c6 in KWin::Options::updateSettings() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/options.cpp:772 #11 0x7fdfaff461db in KWin::Workspace::slotReconfigure() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/workspace.cpp:897 #12 0x446f67 in KWin::InternalWindowTest::testModifierClickUnrestrictedMove() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/autotests/integration/internal_window.cpp:620 #13 0x45624d in KWin::InternalWindowTest::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/build/autotests/integration/testInternalWindow_autogen/include/internal_window.moc:166 #14 0x7fdfa577794a in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (/usr/lib64/libQt5Core.so.5+0x29694a) #15 0x7fdfaf047962 (/usr/lib64/libQt5Test.so.5+0x19962) #16 0x7fdfaf048352 (/usr/lib64/libQt5Test.so.5+0x1a352) previously allocated by thread T0 here: #0 0x7fdfb204110f in operator new(unsigned long) (/usr/lib64/libasan.so.5+0x10c10f) #1 0x7fdf98774992 in KWin::SceneQPainter::createScene(QObject*) /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/plugins/scenes/qpainter/scene_qpainter.cpp:58 #2 0x7fdf9878db95 in KWin::QPainterFactory::create(QObject*) const /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/plugins/scenes/qpainter/scene_qpainter.cpp:870 #3 0x7fdfb03f9488 in KWin::Compositor::setupStart() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/composite.cpp:238 #4 0x7fdfb0404ca4 in KWin::WaylandCompositor::start() /home/jenkins/workspace/Plasma/kwin/kf5-qt5 SUSEQt5.12/composite.cpp:862 #5 0x7fdfaffaf481 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KWin::Compositor::*)()>::call(void (KWin::Compositor::*)(), KWin::Compositor*, void**) /usr/include/qt5/QtCore/qobjectdefs_impl.h:152 #6 0x7fdfaffa4deb in void QtPrivate::FunctionPointer<void (KWin::Compositor::*)()>::call<QtPrivate::List<>, void>(void (KWin::Compositor::*)(), KWin::Compositor*, void**) /usr/include/qt5/QtCore/qobjectdefs_impl.h:185 #7 0x7fdfaff9c765 in QtPrivate::QSlotObject<void (KWin::Compositor::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/qt5/QtCore/qobjectdefs_impl.h:414 #8 0x7fdfa57a0df1 (/usr/lib64/libQt5Core.so.5+0x2bfdf1) SUMMARY: AddressSanitizer: heap-use-after-free /usr/include/qt5/QtCore/qhash.h:933 in QHash<KWin::Toplevel*, KWin::Scene::Window*>::findNode(KWin::Toplevel* const&, unsigned int*) const Shadow bytes around the buggy address: 0x0c1080003fa0: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fa 0x0c1080003fb0: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fa 0x0c1080003fc0: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fa 0x0c1080003fd0: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fa 0x0c1080003fe0: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fa =>0x0c1080003ff0: fa fa fa fa fd fd fd fd fd fd fd fd[fd]fd fd fd 0x0c1080004000: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fd 0x0c1080004010: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 05 fa 0x0c1080004020: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 00 0x0c1080004030: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 04 0x0c1080004040: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 01 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb Shadow gap: cc ==23416==ABORTING (EE) failed to read Wayland events: Connection reset by peer
-
Jonathan Riddell authored
GIT_SILENT
-
Vlad Zahorodnii authored
Summary: Managing lifetime of objects during tear down is a bit clunky in KWin mostly because the wayland server outlives the workspace. 3f4e7334 tried to tackle one aspect of this problem, but the proposed solution is good only in short term. If a ShellClient wants to discard force temporarily rules, it needs to access RuleBook, whose lifetime is bounded to the workspace, no matter what happens. Otherwise, the force temporarily rule will be applied again on the next startup. It's worth to mention that there was another attempt to address this problem, see commit 826b9742. It was reverted because some internal clients may need to destroy Wayland resources during tear down. This change takes another approach. In order to ensure that ShellClient can access RuleBook during tear down, we manually destroy Wayland clients in destructor of the Workspace class. Something is done already for X11 clients. Reviewers: #kwin Subscribers: romangg, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D22986
-
Script Kiddy authored
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"
-
- 09 Sep, 2019 1 commit
-
-
Björn Feber authored
Summary: Apply the KDE HIG, use form layouts, make desktop files consistent and make the KCMs look better. {F7323519} {F7330485} {F7330486} {F7302318} {F7302319} Test Plan: Open the {nav Window Behavior} KCMs. All options should still work Reviewers: #kwin, #plasma, #vdg, ngraham, zzag Reviewed By: #kwin, #plasma, #vdg, ngraham, zzag Subscribers: ngraham, davidedmundson, zzag, #vdg, #plasma, kwin, #kwin Tags: #kwin Maniphest Tasks: T10273 Differential Revision: https://phabricator.kde.org/D23615
-
- 08 Sep, 2019 3 commits
-
-
Laurent Montel authored
-
Björn Feber authored
Make KWin action menu consistent with task manager, use action verbs for configure items and add more icons Summary: {F7329676} Test Plan: Open the context menu for a window (Alt+F3). Reviewers: #kwin, #vdg, ndavis, davidedmundson Reviewed By: #kwin, #vdg, ndavis, davidedmundson Subscribers: davidedmundson, ndavis, #vdg, kwin, #kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23779
-
Nate Graham authored
Summary: This allows all the section headers to always have the same look and feel and be adjusted in just one place. Depends on D23049 Test Plan: {F7181776} Reviewers: #vdg, kwin, GB_2, #kwin Reviewed By: #vdg, GB_2 Tags: #kwin Maniphest Tasks: T10384 Differential Revision: https://phabricator.kde.org/D23055
-
- 07 Sep, 2019 8 commits
-
-
Vlad Zahorodnii authored
Summary: Given that wobbly windows effect takes optimized render path, it needs to clear the clip region of about to be transformed opaque window. BUG: 411092 FIXED-IN: 5.17.0 Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23774
-
Vlad Zahorodnii authored
Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23756
-
Vlad Zahorodnii authored
Summary: Wobbly Windows effect is capable of animating a window when it's shown or hidden. However, this feature has been hidden since it was added. One needs to know how the effect works in order to enable these animations. Therefore there's no good reason to keep these two animations because practically no one uses them and they only add maintenance burden. Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23763
-
Vlad Zahorodnii authored
Test Plan: Compiles. Reviewers: #kwin, apol Reviewed By: apol Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23752
-
Vlad Zahorodnii authored
Test Plan: Compiles. Reviewers: #kwin, apol Reviewed By: apol Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23751
-
Vlad Zahorodnii authored
Summary: Compositor::hasScene() is redundant. Depending on use case, it can be replaced by checking either m_state or Compositor::scene(). Reviewers: #kwin Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23744
-
Vlad Zahorodnii authored
Summary: Neither WaylandCompositor nor X11Compositor have at least one smart pointer field that points to an incomplete class type, so the destructors are kind of useless. Reviewers: #kwin Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23747
-
Vlad Zahorodnii authored
Summary: It doesn't make sense to update window margins in finishInit because no buffer is attached yet at that moment. Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: davidedmundson, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23743
-
- 06 Sep, 2019 1 commit
-
-
Vlad Zahorodnii authored
We don't use assert().
-
- 05 Sep, 2019 4 commits
-
-
Roman Gilg authored
Summary: This patch further refines output management. We go now through AbstractWaylandOutput virtual functions to enable and disable outputs. Dpms changes and enablement switches use separate code paths at start in the Drm backend code since they are similar but not the directly same. Common code is shared though, functions are renamed accordingly. Asserts have been put in place to better understand and check the control flow. A seemingly unnecessary call to DrmOutput::pageFlipped on reactivation after Vt switch has been removed to allow for that. In future patches we need to look additionally at the legacy mode switching code path which was and is still not working and better handling of the current monitor Dpms state. For example a monitor being switched off is not properly acted on and the workspace still expanded. Test Plan: With one and two monitors: * Dpms off/on * Vt switches * Screen disable/enable Reviewers: #kwin Subscribers: kwin Tags: #kwin Maniphest Tasks: T11459 Differential Revision: https://phabricator.kde.org/D23600
-
Roman Gilg authored
Summary: Make it more explicit what the relation is between Wayland and XDG objects existing and enablement: The ouput is enabled if and only if Wayland and XDG output objects exist. We can simplify the code by replacing checks on the outputs with checking the current enablement value. Test Plan: Wayland nested and virtual backends. Reviewers: #kwin Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23553
-
Roman Gilg authored
Summary: This lifts the enablement code for outputs from the DRM backend to Platform allowing other Wayland backends in the future to use this interface as well. To do that we also create some helper functions on Platform level and have to spill some KWayland classes into AbstractOutput what motivates a further split of Platform into a Wayland child class like for AbstractOutput. Test Plan: Disabled and enabled an output in DRM session. Reviewers: #kwin Subscribers: zzag, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23545
-
Roman Gilg authored
Summary: Since we now use in the backends the OutputDeviceInterface for output data all access must be complete before the Wayland server goes down. For that introduce a new function to prepare shutdown in the backends. While at it also remove the output deletion, since they get deleted through Qt's object system leading to crashes on double free. Test Plan: Shutdown works without seg faults in the Drm backend. Reviewers: #kwin, zzag Reviewed By: #kwin, zzag Subscribers: zzag, kwin Tags: #kwin Maniphest Tasks: T11459 Differential Revision: https://phabricator.kde.org/D23602
-