1. 22 Aug, 2020 1 commit
    • Calvin Buckley's avatar
      Use a common save dialog for exporting call graphs · 6c8fc813
      Calvin Buckley authored
      This lets you pick where the saved call graph visualization should
      go, and what format you wanted it in. Previously, it generated a
      dot file, and on Unix, a PostScript file. This lets you choose a
      dot or PS/PDF file, rendering to an intermediate dot file if needed.
      This also changes the context menu in the per-function graph too,
      increasing commonality in code.
      More formats can be added as needed.
      Possible caveats:
      - QProcess might be blocking.
  2. 17 Sep, 2019 1 commit
  3. 12 Sep, 2019 1 commit
  4. 19 Jan, 2019 1 commit
  5. 10 Nov, 2018 1 commit
  6. 27 Sep, 2017 1 commit
    • Josef Weidendorfer's avatar
      Fix compare functions used by std::sort · afb704ba
      Josef Weidendorfer authored
      In commit 3306cb3e (Nov 22, 2016), the obsolete qSort function
      was replaced by std::sort.
      However, there is a subtile difference: qSort was able to
      cope with non-strict weak ordering given back by the compare
      function, whereas std::sort is not, possibly resulting in
      out-of-bound accesses and crashes.
      In a previous commit 2856bba6, a compare function in treemap.cpp
      was fixed, but we missed fixing a few other compare functions which
      now are used by std::sort.
      This fixes bug 385127.
  7. 10 Jan, 2017 1 commit
  8. 24 Nov, 2016 1 commit
  9. 23 Nov, 2016 2 commits
  10. 22 Nov, 2016 1 commit
  11. 21 Nov, 2016 1 commit
  12. 24 Oct, 2016 3 commits
    • Josef Weidendorfer's avatar
      Enable icons for cycles · e34e7a5b
      Josef Weidendorfer authored
      This was commented out long ago... compiles fine even with Qt4.
    • Josef Weidendorfer's avatar
      Hide call counts if all counts from input are zero · 5fcda87e
      Josef Weidendorfer authored
      This makes KCachegrind's visualization better for input data
      where call counts are/can not measured (e.g. sampling data).
      KCachegrind already does similar things for inclusive cost (ie.
      hiding any inclusive cost values if all inclusive cost is zero),
      now this is extended for call counts.
    • Josef Weidendorfer's avatar
      Call graph: be more robust against bogus input · 1eb4b195
      Josef Weidendorfer authored
      If input data specified that a call between functions had 0 cost,
      it still was possible that this call arc was drawn, resulting
      in strange visulizations (huge random costs shown). We need to
      stop drawing the call graph in these cases.
  13. 28 Jun, 2016 1 commit
  14. 29 Mar, 2016 1 commit
  15. 30 Oct, 2015 1 commit
  16. 12 Aug, 2015 3 commits
  17. 19 Feb, 2015 1 commit
  18. 14 Oct, 2014 1 commit
  19. 13 Mar, 2012 2 commits
    • Josef Weidendorfer's avatar
      Fix memory leak on QProcess instance · 515724c8
      Josef Weidendorfer authored
      Previously, we set our reference to QProcess instance for the
      the graph layouting child process simply to 0 on error or
      when layouting was killed. Better to get rid of the QProcess instance
      together with the child process.
      svn path=/trunk/KDE/kdesdk/kcachegrind/; revision=1285260
    • Josef Weidendorfer's avatar
      Fix bug 288164: don't crash if GraphViz binary not found · 7f027992
      Josef Weidendorfer authored
      The bug only showed up on Windows, but could have happened
      on Linux as well. This actually fixes 2 bugs:
      * if it is detected that calling 'dot' fails before data
        is written to the child process, a 0-deref SEGFAULT happens.
        Now we use a local copy of the QProcess variable which is
        not set to zero on error.
      * with first bug fixed, we could show wrong message, as
        the timer about warning on long layouting eventually
        is started only after the error message is shown. This
        error therefore soon is overwritting by misleading warning.
      svn path=/trunk/KDE/kdesdk/kcachegrind/; revision=1285259
  20. 27 Oct, 2011 1 commit
  21. 23 Sep, 2011 1 commit
  22. 08 Jan, 2011 1 commit
  23. 05 May, 2010 1 commit
  24. 29 Apr, 2010 1 commit
  25. 14 Apr, 2010 1 commit
  26. 13 Nov, 2009 1 commit
  27. 16 Sep, 2009 1 commit
  28. 10 Sep, 2009 1 commit
    • Josef Weidendorfer's avatar
      KCachegrind: Improve drawing performance of CallGraphView with Qt 4.6.0 · a0053a14
      Josef Weidendorfer authored
      Graphics items of the call graph are drawn in a simplified version in
      the birds-eye view to keep drawing performance reasonable. For this, in
      Qt 4.5.x, the <levelOfDetail> member of the QStyleOptionGraphicsItem
      class, which is given to the painting function of graphics items, can be
      used. This was obsoleted with Qt 4.6.0, and always gives 1 now, which
      resulted in the same painting in the birds-eye view as in the main view.
      The variable access is replaced by a function call now, taking the
      transformation of the painter into account.
      svn path=/trunk/KDE/kdesdk/kcachegrind/; revision=1022106
  29. 05 Aug, 2009 1 commit
    • Josef Weidendorfer's avatar
      KCachegrind: reduce visualization view updates by update merging · 97a6fb31
      Josef Weidendorfer authored
      The TraceViewItem class, which is the base class for all
      visualization views in KCachegrind, now does update merging, ie.
      a call to updateView() now does not directly result in a call
      to doUpdate().
      This e.g. cuts down the number of refreshes for the Flat profile
      on startup of KCachegrind with a data file from 4 to 1, and also
      gets rid of a short wrong display, as well as slow flicker.
      Sometimes (e.g. when setting a new profile data model), we need
      to skip this merging either completely for one update with
      updateView(true), or for all updates of a TraceViewItem subclass
      with setMergingUpdates(false).
      svn path=/trunk/KDE/kdesdk/kcachegrind/; revision=1007541
  30. 03 Aug, 2009 2 commits
  31. 23 Jul, 2009 2 commits
  32. 21 Apr, 2009 1 commit