1. 04 Mar, 2021 7 commits
  2. 03 Mar, 2021 2 commits
  3. 02 Mar, 2021 5 commits
  4. 01 Mar, 2021 4 commits
    • Aleix Pol Gonzalez's avatar
      cmake: Get XKB information directly from PkgConfig · 3c97cecd
      Aleix Pol Gonzalez authored
      Rather than having it abstracted in a local FindXKB package.
      Makes the code more standard and removes a custom finder we ultimately
      don't need.
    • Aleix Pol Gonzalez's avatar
      Do not attempt to compare iterators of potentially different containers · 618c330c
      Aleix Pol Gonzalez authored and Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez committed
      I got this crash after leaving my system unattended:
      0  std::__atomic_base<int>::load(std::memory_order) const (this=0x0, __m=std::memory_order_relaxed) at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/atomic_base.h:426
      1  QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) (_q_value=...) at /home/apol/devel/kde5/include/QtCore/qatomic_cxx11.h:239
      2  QBasicAtomicInteger<int>::loadRelaxed() const (this=0x0) at /home/apol/devel/kde5/include/QtCore/qbasicatomic.h:107
      3  QtPrivate::RefCount::isShared() const (this=0x0) at /home/apol/devel/kde5/include/QtCore/qrefcount.h:101
      4  QMap<KWin::Group*, KWin::Layer>::detach() (this=0x7f1b577b7870 <qt_array+48>) at /home/apol/devel/kde5/include/QtCore/qmap.h:357
      5  QMap<KWin::Group*, KWin::Layer>::find(KWin::Group* const&) (this=0x7f1b577b7870 <qt_array+48>, akey=<optimized out>) at /home/apol/devel/kde5/include/QtCore/qmap.h:861
      6  KWin::Workspace::constrainedStackingOrder() (this=this@entry=0x564b368c6290) at /home/apol/devel/frameworks/kwin/src/layers.cpp:502
      7  0x00007f1b5708d027 in KWin::Workspace::updateStackingOrder(bool) (this=0x564b368c6290, propagate_new_clients=false) at /home/apol/devel/frameworks/kwin/src/layers.cpp:110
      8  0x00007f1b571629be in KWin::X11Client::setFrameGeometry(QRect const&, KWin::AbstractClient::ForceGeometry_t) (this=0x564b374b4e60, rect=<optimized out>, force=<optimized out>) at /home/apol/devel/frameworks/kwin/src/x11client.cpp:4193
      9  0x00007f1b57003fbf in KWin::AbstractClient::blockGeometryUpdates(bool) (this=this@entry=0x564b374b4e60, block=<optimized out>) at /home/apol/devel/frameworks/kwin/src/abstract_client.cpp:871
      10 0x00007f1b570054f1 in KWin::GeometryUpdatesBlocker::~GeometryUpdatesBlocker() (this=<optimized out>) at /home/apol/devel/frameworks/kwin/src/abstract_client.h:1334
      11 KWin::AbstractClient::checkWorkspacePosition(QRect, int, QRect) (this=0x564b374b4e60, oldGeometry=..., oldDesktop=1, oldClientGeometry=...) at /home/apol/devel/frameworks/kwin/src/abstract_client.cpp:3189
      12 0x00007f1b571409e0 in KWin::Workspace::updateClientArea(bool) (this=<optimized out>, this@entry=0x564b368c6290, force=false) at /home/apol/devel/frameworks/kwin/src/workspace.cpp:2234
      13 0x00007f1b57138fc6 in KWin::Workspace::updateClientArea() (this=0x564b368c6290) at /home/apol/devel/frameworks/kwin/src/workspace.cpp:2243
      14 KWin::Workspace::desktopResized() (this=0x564b368c6290) at /home/apol/devel/frameworks/kwin/src/workspace.cpp:1980
      15 0x00007f1b57707806 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff671a2e50, r=0x564b368c6290, this=0x564b372f1860) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398
      16 doActivate<false>(QObject*, int, void**) (sender=0x564b368a0fe0, signal_index=4, argv=0x7fff671a2e50) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3886
      17 0x00007f1b57707806 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff671a2f30, r=0x564b368a0fe0, this=0x564b368a10f0) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398
      18 doActivate<false>(QObject*, int, void**) (sender=0x564b36775640, signal_index=3, argv=0x7fff671a2f30) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3886
      19 0x00007f1b4ee2f9c3 in KWin::DrmBackend::updateOutputs() (this=this@entry=0x564b36775640) at /home/apol/devel/frameworks/kwin/src/plugins/platforms/drm/drm_backend.cpp:374
      20 0x00007f1b4ee31d54 in KWin::DrmBackend::openDrm()::$_2::operator()() const (this=<optimized out>) at /home/apol/devel/frameworks/kwin/src/plugins/platforms/drm/drm_backend.cpp:328
    • Aleix Pol Gonzalez's avatar
      Fix GlobalShortcutsTest::testWaylandClientShortcut() · 3b2b9e01
      Aleix Pol Gonzalez authored and Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez committed
    • Aleix Pol Gonzalez's avatar
      Still mark setUnresponsive(false) when the pings arrive late · e4bed6ea
      Aleix Pol Gonzalez authored
      It usually means that the client was busy and couldn't answer the ping
      as early as we'd hoped but there's a good chance the process is healthy
  5. 28 Feb, 2021 1 commit
  6. 27 Feb, 2021 1 commit
  7. 25 Feb, 2021 2 commits
  8. 24 Feb, 2021 6 commits
  9. 23 Feb, 2021 8 commits
    • Vlad Zahorodnii's avatar
      Fix build · 73dd65f4
      Vlad Zahorodnii authored
    • Aleix Pol Gonzalez's avatar
      inputmethod: do not cover panels with the input method (e.g. virtual keyboard) · 65ad7ffb
      Aleix Pol Gonzalez authored and Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez committed
      This way we can adapt the panels themselves to show useful UX like
      hiding the keyboard or switching.
    • Vlad Zahorodnii's avatar
      Add QDebug stream operator for AbstractOutput · 220a1e04
      Vlad Zahorodnii authored
      This can be useful for debugging purposes.
    • Vlad Zahorodnii's avatar
      effects: Properly copy previous geometry · 33ba2974
      Vlad Zahorodnii authored
      In QJSEngine, QRect is an Object, which is correct. This means that we
      cannot use simple assignment operator to copy geometries, we need to use
      standard ways to copy Objects, such as Object.assign() or the spread
      operator, which is not available in QJSEngine yet.
    • Vlad Zahorodnii's avatar
      Drop QtScript dependency · bd4d17b3
      Vlad Zahorodnii authored
      QtScript is not used anywhere anymore plus it's dropped in Qt 6.
    • David Edmundson's avatar
      [scripting] Port ScriptedEffects to QJSEngine · ae6e6dc6
      David Edmundson authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
      QScriptEngine is deprecated for years and suffers bitrot.
      Plasma hit one super major bug with it in 5.11.0 and has now ported
      Main porting notes:
      - creating low level functions no longer exists
      The old global functions are exposed on the ScriptedEffect instance
      and then the QJSValue wrappers of the globalObject are modified to
      trampoline the methods at a wrapper level.
      - We can then use QJSEngine to automatically do argument error checking
      rather than unmarshalling a QJSValue manually which significantly
      reduces a lot of code.
      - We can't make FPX2 a native type, so these are QJSValue args and
      unboxed there.
      Long term I want overloads for animate that take int/QSize/QPoint which
      are native JS types, but that might be an API break.
      Test Plan:
      Hopefully comprehensive unit test which passes
      Tested fade/fadeDesktop manually.
      It's a very invasive change, so I expect some things will be broke
      please help test any JS effects.
      Reviewers: #kwin, mart, fvogt
      Subscribers: fvogt, zzag, kwin
      Tags: #kwin
      Differential Revision: https://phabricator.kde.org/D14536
    • Vlad Zahorodnii's avatar
      scripting: Port Script to QJSEngine · 566d4aa2
      Vlad Zahorodnii authored
      QtScript is not well maintained and deprecated in favor of QJSEngine.
    • Bhushan Shah's avatar
      [platforms/drm] include missing errno.h include · 28d2650f
      Bhushan Shah authored
      CCMAIL: Xaver Hugl <xaver.hugl@gmail.com>
  10. 22 Feb, 2021 4 commits