1. 23 Aug, 2020 1 commit
  2. 20 Aug, 2020 1 commit
  3. 09 Aug, 2020 2 commits
  4. 08 Aug, 2020 4 commits
    • 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: Olivier Fourdan's 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: Olivier Fourdan's avatarOlivier Fourdan <fourdan@xfce.org>
      b510bdba
  5. 01 Aug, 2020 2 commits
  6. 27 Jul, 2020 1 commit
  7. 26 Jul, 2020 1 commit
  8. 25 Jul, 2020 5 commits
  9. 15 Jul, 2020 3 commits
    • 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: Olivier Fourdan's avatarOlivier Fourdan <fourdan@xfce.org>
      Closes: xfce/xfwm4#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: Olivier Fourdan's 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: Olivier Fourdan's avatarOlivier Fourdan <fourdan@xfce.org>
      6c712173
  10. 12 Jul, 2020 1 commit
  11. 07 Jul, 2020 1 commit
  12. 05 Jul, 2020 1 commit
  13. 01 Jul, 2020 1 commit
  14. 28 Jun, 2020 1 commit
  15. 21 Jun, 2020 1 commit
  16. 15 Jun, 2020 1 commit
  17. 14 Jun, 2020 1 commit
  18. 12 Jun, 2020 4 commits
  19. 11 Jun, 2020 2 commits
  20. 27 May, 2020 2 commits
  21. 26 May, 2020 1 commit
  22. 25 May, 2020 2 commits
  23. 24 May, 2020 1 commit