1. 22 Feb, 2021 2 commits
  2. 19 Feb, 2021 10 commits
  3. 18 Feb, 2021 6 commits
    • Aleix Pol Gonzalez's avatar
      Prevent layershell from crashing when rearranging when we shouldn't · 04465e99
      Aleix Pol Gonzalez authored
      Here's the backtrace that prompted the MR:
      0  QVector<KWin::VirtualDesktop*>::count() const (this=0x10) at
      1  KWin::VirtualDesktopManager::count() const (this=0x0) at
      2  KWin::Workspace::updateClientArea(bool) (this=0x0, force=false) at
      3  0x00007fef12a180b3 in KWin::LayerShellV1Integration::rearrange()
      (this=<optimized out>) at
      4  0x00007fef13094806 in QtPrivate::QSlotObjectBase::call(QObject*,
      void**) (a=0x7ffcf9674f70, r=0x5569d2981a40, this=0x5569d2981e50) at
      5  doActivate<false>(QObject*, int, void**) (sender=0x5569d2981dc0,
      signal_index=3, argv=argv@entry=0x7ffcf9674f70) at
      6  0x00007fef1308db60 in QMetaObject::activate(QObject*, QMetaObject
      const*, int, void**) (sender=<optimized out>, m=m@entry=0x7fef1332d280
      argv=argv@entry=0x7ffcf9674f70) at
      7  0x00007fef1309871a in QTimer::timeout(QTimer::QPrivateSignal)
      (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
    • Aleix Pol Gonzalez's avatar
      --warning: Don't try to connect to a null object · 4fb24938
      Aleix Pol Gonzalez authored
      It happens when running without libinput.
    • Aleix Pol Gonzalez's avatar
      pipewire: Don't crash if we're passed a null spa_data · 8950b781
      Aleix Pol Gonzalez authored and Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez committed
      I just had that crash, this is what coredumpctl suggested it was
      We don't need to make sure we're in dmabuf mode to remove the buffer.
      Worst case scenario it won't remove anything. Check the spa_data before
      querying in case it's null.
    • Méven Car's avatar
      DrmGpu fix atomicModeSetting try · 11c3ada1
      Méven Car authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
    • Vlad Zahorodnii's avatar
      x11: Properly detect whether swap events have to disabled · cf2486d6
      Vlad Zahorodnii authored
      qEnvironmentVariableIntValue() will return 0 if the specified variable
      is not set.
      This means that swap events will be disabled on AMD GPUs unless the env
      var is set explicitly to 1.
    • Bhushan Shah's avatar
      inputmethod: toggle the inputmethod if we get second show request · 892b8cf6
      Bhushan Shah authored
      This is in a way working around bad protocol, input-method-unstable-v1
      and also input-method-unstable-v2 does not have a way for input-method
      to mark itself as "deactivated". This can happen when e.g. user closes
      the virtual keyboard using swiping down or "close keyboard" button in
      When this happens, the state between compositor, text_input and
      input_method gets out of sync, compositor does not know that input
      method got deactivated and hence it will continue sending various events
      to it. The quick way around it is to change focus, which makes
      compositor send deactivate request to input-method, that puts compositor
      and input-method in sync again.
      This patch aims to solve this by tracking the last state of input
      method, If we know that input method is active and text input sends us
      the show event, we toggle the input-method.
      I will re-iterate that this is in no way proper solution, ideally
      input-method-unstable-v3 or input-method-unstable-v2 even (since it is
      not upstream anyway) gains the new request which essentially allows
      input-method to sync enabled/disabled state with compositor.
  4. 17 Feb, 2021 2 commits
  5. 16 Feb, 2021 8 commits
  6. 15 Feb, 2021 3 commits
    • Vlad Zahorodnii's avatar
      xwayland: Improve handling of Xwayland restarts · 22d386cd
      Vlad Zahorodnii authored
      At the moment, the display name might change between Xwayland restarts.
      It is a problem because the session process (plasma) may have an
      outdated value of the DISPLAY environment variable after a restart.
      With this change, it is guaranteed that the DISPLAY and the Xauthority
      file stay the same until the server is stopped explicitly.
    • Xaver Hugl's avatar
      decouple DRM planes from DrmOutput · 995437f5
      Xaver Hugl authored
    • Méven Car's avatar
      QPA Integration: Save enabled screens · 7c2c213f
      Méven Car authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
      Since QWindowSystemInterface::handleScreenRemoved would not be called in Integration::handleScreenDisabled, Qt apps would still reference disabled screens resulting in crashes.
  7. 13 Feb, 2021 1 commit
    • Ismael Asensio's avatar
      kcm/kwinrules: Update values on text edit · 3b87c6ea
      Ismael Asensio authored
      Previously the text values were updated to the model after
      `onEditingFinished()`, that is after losing focus, to prevent
      erroneus updates.
      This was making also the `needsSaving` signal fire only after
      a focus change, which is not consistent with the behavior of
      other KCMs.
      Use `onTextEdit()` instead, so the model is updated as the user
      BUG: 431211
  8. 12 Feb, 2021 2 commits
    • Cyril Rossi's avatar
      KCM KWin VirtualDesktop highlight settings · 12e0376f
      Cyril Rossi authored and Nate Graham's avatar Nate Graham committed
      Currently the highlight is only for the items. KCModuleData will come in another MR.
      This is more simple implementation than the one I previously made.
      Some default value are hardcoded in the KCM such as Rows count (2) and the number
      of virtual desktop, on revert to default, it keeps only the first one.
    • Vlad Zahorodnii's avatar
      xwayland: Refuse to create connection sockets if sockets dir doesn't exist · c5e91b94
      Vlad Zahorodnii authored
      Since kwin runs as a normal user, it cannot create the X11 connection
      socket directory because any user process can easily compromise the
      security of the system by unsetting the sticky bit.
      In order to guarantee the security of the system, the socket directory
      must be created by root and have the sticky bit on.
  9. 11 Feb, 2021 6 commits