1. 20 Jul, 2020 3 commits
  2. 07 Jul, 2020 1 commit
    • Sharaf Zaman's avatar
      Render meshgradient on QImage and then on QPainter · 7d06c391
      Sharaf Zaman authored
      Primary reason for this is, that rendering meshpatches
      every single time a translation is done, is very
      expensive. So, we render it the first time and reuse it.
      
      The way we do it is:
      
      1) First we render the patch in scaled-up version of
         QImage, this helps us with loss of quality which is
         a consequence of `QPainter&` passed in
         `KoMeshGradientBackground::paint` as a scaled version.
      
      2) We render the whole patch on QImage, not just the patch
         inside clipped region.
      
      3) Then we render the QImage on QPainter in user coordinates
         i.e independent from the shape.
      
      NOTE: One thing which has to be taken care of is, when we resize
      the shape, the patch is resized as well. Which is one of the
      expected behavior. But there is one more behavior, that is
      the patches should not be scaled, which can help us with
      having only selected portion of the patches in view.
      
      Maniphest: T13101
      7d06c391
  3. 02 Jul, 2020 3 commits
  4. 30 Jun, 2020 1 commit
  5. 29 Jun, 2020 12 commits
  6. 26 Jun, 2020 7 commits
  7. 25 Jun, 2020 2 commits
    • Dmitry Kazakov's avatar
      7eb5276b
    • L. E. Segovia's avatar
      419140 Fix use-after-free in the resource server · 4cf116cb
      L. E. Segovia authored
      Sometimes (under Windows), the main window (and the palette docker)
      gets destroyed before the palettes' resource server. Since the docker
      does not remove itself as an observer in its destructor, the resource
      server will do it on destruction -- thus trying to access a long dead
      object.
      
      It is interesting to see that this use-after-free happens:
      
      - 100% reliably on Windows only
      - and, to the best of my knowledge, with debug builds.
      4cf116cb
  8. 24 Jun, 2020 11 commits