Skip to content
Snippets Groups Projects
  1. Aug 08, 2020
    • bob5972's avatar
      compositor: use g_slice allocator for compositor windows · 390af609
      bob5972 authored and Olivier Fourdan's avatar Olivier Fourdan committed
      On my system, 2-4% of the CPU time in xfwm4 is being spend in
      find_cwindow_in_screeni() pulling in entries from the linked list on
      a lightly updating desktop.
      
      After this change, 25-50% of that CPU is gone, presumably because the
      slice allocators have better locality of the list-entries.
      
      Closes: #416
      390af609
    • bob5972's avatar
      Fix errorTrap leak in free_win_data · e6a32cf7
      bob5972 authored and Olivier Fourdan's avatar Olivier Fourdan committed
      The function free_win_data() may generate X11 errors as the client
      window may already be gone.
      
      To avoid those, the entire function code is supposed to be enclosed
      within an error trap/push.
      
      A typo in the code would however push twice instead of a balanced
      push/pop which causes the list of event sequences in GDK to grow
      indefinitely, leading to slowdowns as the list grows over time.
      
      Fix the leak by balancing the error push with an error pop at the end
      of the function.
      
      #351
      e6a32cf7
    • Olivier Fourdan's avatar
      compositor: use actual atom · 78c5dc42
      Olivier Fourdan authored
      
      The function compositorCheckCMSelection() would use the atom index in
      our table of atoms, instead of the actual atom, so this is unlikely to
      work as expected.
      
      Fix the code to use the appropriate atom as it should.
      
      Signed-off-by: default avatarOlivier Fourdan <fourdan@xfce.org>
      78c5dc42
    • Olivier Fourdan's avatar
      cleanup: prefer zero initialized memory allocation · b510bdba
      Olivier Fourdan authored
      
      Prefer using memory allocation functions which initialize the memory
      with 0's to be on the safe side.
      
      No functional change.
      
      Signed-off-by: default avatarOlivier Fourdan <fourdan@xfce.org>
      b510bdba
  2. Jul 27, 2020
  3. Jul 25, 2020
  4. Jul 15, 2020
    • Olivier Fourdan's avatar
      settings: Duplicate string gvalues · 056ba6ad
      Olivier Fourdan authored
      
      The gvalues strings were considered statics, hence not duplicated.
      
      As the caller frees the strings after setting the gvalue, the actual
      content would end up pointing at free data.
      
      Consider string gvalues as regular strings, meaning that the given
      string value is duplicated as a gvalue.
      
      Signed-off-by: default avatarOlivier Fourdan <fourdan@xfce.org>
      Closes: #406
      056ba6ad
    • Olivier Fourdan's avatar
      client: Really send synthetic configure notify · 6637211e
      Olivier Fourdan authored
      Commit 821ee7cc would not actually send the synthetic configure notify
      events anymore. That obviously breaks plenty of applications…
      
      While the logic of the commit itself is sound, the problem is that it
      bases the descision to send the configure notify event by comparing
      against the current window size and location.
      
      The problem is that the current window size and location is modified in
      various places, defeating the logic.
      
      Add an “applied_geometry” rectangle that we update only in a single
      place in the code, so that we know exactly when to send a synthetic
      configure notify event.
      
      Closes: #403
      
      
      Signed-off-by: default avatarOlivier Fourdan <fourdan@xfce.org>
      6637211e
    • Olivier Fourdan's avatar
      client: Use GdkRectangle for saved size/position · 6c712173
      Olivier Fourdan authored
      
      The size and position of the client are stored at multiple occasions.
      
      But the naming of the variables used is a bit confusing, rename the
      variables and use GdkRectangles instead.
      
      Signed-off-by: default avatarOlivier Fourdan <fourdan@xfce.org>
      6c712173
  5. Jun 12, 2020
  6. May 23, 2020
  7. Apr 22, 2020
  8. Apr 21, 2020
  9. Apr 20, 2020
  10. Apr 13, 2020
  11. Apr 12, 2020
  12. Apr 11, 2020
  13. Apr 09, 2020
  14. Apr 08, 2020
  15. Apr 07, 2020
  16. Apr 05, 2020
    • Olivier Fourdan's avatar
      device: Use standard grabs for passive button grabs · aa3e3cac
      Olivier Fourdan authored
      
      Bug: 16347
      
      XInput2 passive button grab would not fail if the button is already
      grabbed by the client.
      
      X-AIR-Edit is such a client which issues a button grab on its own
      window, meaning that with XI2 button it would not react to button events
      anymore.
      
      Revert to the standard grab button for the passive grabs so that such
      apps can still work with xfwm4.
      
      Signed-off-by: default avatarOlivier Fourdan <fourdan@xfce.org>
      aa3e3cac
Loading