@@ -23,11 +23,15 @@ in the source distribution for its full text.
2323#include "XUtils.h"
2424
2525
26+ Panel * activeAvailableColumns ;
27+
2628static const char * const AvailableColumnsFunctions [] = {" " , " " , " " , " " , "Add " , " " , " " , " " , " " , "Done " , NULL };
2729
2830static void AvailableColumnsPanel_delete (Object * object ) {
2931 Panel * super = (Panel * ) object ;
3032 AvailableColumnsPanel * this = (AvailableColumnsPanel * ) object ;
33+ if (activeAvailableColumns == super )
34+ activeAvailableColumns = NULL ;
3135 Panel_done (super );
3236 free (this );
3337}
@@ -94,13 +98,13 @@ static void AvailableColumnsPanel_addDynamicColumn(ht_key_t key, void* value, vo
9498}
9599
96100// Handle DynamicColumns entries in the AvailableColumnsPanel
97- static void AvailableColumnsPanel_addDynamicColumns (Panel * super , Hashtable * dynamicColumns ) {
101+ void AvailableColumnsPanel_addDynamicColumns (Panel * super , Hashtable * dynamicColumns ) {
98102 assert (dynamicColumns );
99103 Hashtable_foreach (dynamicColumns , AvailableColumnsPanel_addDynamicColumn , super );
100104}
101105
102106// Handle remaining Platform Meter entries in the AvailableColumnsPanel
103- static void AvailableColumnsPanel_addPlatformColumn (Panel * super ) {
107+ void AvailableColumnsPanel_addPlatformColumn (Panel * super ) {
104108 for (int i = 1 ; i < LAST_PROCESSFIELD ; i ++ ) {
105109 if (i != COMM && Process_fields [i ].description ) {
106110 char description [256 ];
@@ -120,6 +124,11 @@ AvailableColumnsPanel* AvailableColumnsPanel_new(Panel* columns, Hashtable* dyna
120124 AvailableColumnsPanel_addPlatformColumn (super );
121125 AvailableColumnsPanel_addDynamicColumns (super , dynamicColumns );
122126
127+ activeAvailableColumns = super ;
123128 this -> columns = columns ;
124129 return this ;
125130}
131+
132+ Panel * AvailableColumnsPanel_get (void ) {
133+ return activeAvailableColumns ;
134+ }
0 commit comments