CPUMeter: avoid crashes and leaks in case the CPU count changes

E.g. if the HT/SMT mode changes

Use separate data for sub-meters
Do not reuse drawData for maintainability
2 files changed
tree: b207995e874d37832ce5ebca271606c8fe93e633
  1. .github/
  2. darwin/
  3. dragonflybsd/
  4. freebsd/
  5. linux/
  6. openbsd/
  7. scripts/
  8. solaris/
  9. unsupported/
  10. zfs/
  11. .editorconfig
  12. .gitignore
  13. .travis.yml
  14. Action.c
  15. Action.h
  16. Affinity.c
  17. Affinity.h
  18. AffinityPanel.c
  19. AffinityPanel.h
  20. AUTHORS
  21. autogen.sh
  22. AvailableColumnsPanel.c
  23. AvailableColumnsPanel.h
  24. AvailableMetersPanel.c
  25. AvailableMetersPanel.h
  26. BatteryMeter.c
  27. BatteryMeter.h
  28. CategoriesPanel.c
  29. CategoriesPanel.h
  30. ChangeLog
  31. CheckItem.c
  32. CheckItem.h
  33. ClockMeter.c
  34. ClockMeter.h
  35. ColorsPanel.c
  36. ColorsPanel.h
  37. ColumnsPanel.c
  38. ColumnsPanel.h
  39. CommandScreen.c
  40. CommandScreen.h
  41. configure.ac
  42. CONTRIBUTING.md
  43. COPYING
  44. CPUMeter.c
  45. CPUMeter.h
  46. CRT.c
  47. CRT.h
  48. DateMeter.c
  49. DateMeter.h
  50. DateTimeMeter.c
  51. DateTimeMeter.h
  52. DiskIOMeter.c
  53. DiskIOMeter.h
  54. DisplayOptionsPanel.c
  55. DisplayOptionsPanel.h
  56. EnvScreen.c
  57. EnvScreen.h
  58. FunctionBar.c
  59. FunctionBar.h
  60. Hashtable.c
  61. Hashtable.h
  62. Header.c
  63. Header.h
  64. HostnameMeter.c
  65. HostnameMeter.h
  66. htop.1.in
  67. htop.c
  68. htop.desktop
  69. htop.png
  70. IncSet.c
  71. IncSet.h
  72. InfoScreen.c
  73. InfoScreen.h
  74. ListItem.c
  75. ListItem.h
  76. LoadAverageMeter.c
  77. LoadAverageMeter.h
  78. Macros.h
  79. MainPanel.c
  80. MainPanel.h
  81. Makefile.am
  82. MemoryMeter.c
  83. MemoryMeter.h
  84. Meter.c
  85. Meter.h
  86. MetersPanel.c
  87. MetersPanel.h
  88. NEWS
  89. Object.c
  90. Object.h
  91. OpenFilesScreen.c
  92. OpenFilesScreen.h
  93. Panel.c
  94. Panel.h
  95. Process.c
  96. Process.h
  97. ProcessList.c
  98. ProcessList.h
  99. README
  100. RichString.c
  101. RichString.h
  102. ScreenManager.c
  103. ScreenManager.h
  104. Settings.c
  105. Settings.h
  106. SignalsPanel.c
  107. SignalsPanel.h
  108. StringUtils.c
  109. StringUtils.h
  110. SwapMeter.c
  111. SwapMeter.h
  112. TasksMeter.c
  113. TasksMeter.h
  114. test_spec.lua
  115. TESTPLAN
  116. TraceScreen.c
  117. TraceScreen.h
  118. UptimeMeter.c
  119. UptimeMeter.h
  120. UsersTable.c
  121. UsersTable.h
  122. Vector.c
  123. Vector.h
  124. XAlloc.c
  125. XAlloc.h