- Timestamp:
- 31/05/10 15:36:42 (21 months ago)
- Location:
- trunk
- Files:
-
- 5 modified
-
SOURCE_TOOLS/valgrind2grep (modified) (1 diff)
-
WINDOW/AW_window.cxx (modified) (3 diffs)
-
WINDOW/AW_xkey.cxx (modified) (3 diffs)
-
WINDOW/aw_root.hxx (modified) (1 diff)
-
WINDOW/aw_xkey.hxx (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/SOURCE_TOOLS/valgrind2grep
r6605 r6674 33 33 # Xtoolkit leaks: 34 34 if ($text =~ /\b(XtAppMainLoop)\b.*libXt/) { $$ignore_r = $&; return; } # 15/06/2009 35 36 if ($reason =~ 'still reachable') { # reachable memory leaks 37 if ($text =~ /\b(XLoadQueryFont)\b.*libXt/) { $$ignore_r = $&; return; } # 29/05/2010 38 if ($text =~ /\b(XRebindKeysym)\b.*libXt/) { $$ignore_r = $&; return; } # 29/05/2010 39 if ($text =~ /\b(XmGetPixmap)\b.*libXt/) { $$ignore_r = $&; return; } # 29/05/2010 40 if ($text =~ /\b(XtOpenApplication)\b.*libXt/) { $$ignore_r = $&; return; } # 29/05/2010 41 if ($text =~ /\b(XtRealizeWidget)\b.*libXt/) { $$ignore_r = $&; return; } # 29/05/2010 42 if ($text =~ /\b(XtVaCreateManagedWidget)\b.*libXt/) { $$ignore_r = $&; return; } # 29/05/2010 43 if ($text =~ /\b(XtVaCreatePopupShell)\b.*libXt/) { $$ignore_r = $&; return; } # 29/05/2010 44 if ($text =~ /\b(XtVaSetValues)\b.*libXt/) { $$ignore_r = $&; return; } # 29/05/2010 45 } 35 46 } 36 47 else { # illegal memory access -
trunk/WINDOW/AW_window.cxx
r6666 r6674 255 255 256 256 static void destroy_AW_root() { 257 delete AW_root::SINGLETON; 257 delete AW_root::SINGLETON; AW_root::SINGLETON = NULL; 258 258 } 259 259 … … 273 273 274 274 AW_root::~AW_root() { 275 exit_root(); 275 276 exit_variables(); 276 277 aw_assert(this == AW_root::SINGLETON); … … 1488 1489 aw_install_xkeys(XtDisplay(p_r->toplevel_widget)); 1489 1490 1491 } 1492 1493 void AW_root::exit_root() { 1494 aw_uninstall_xkeys(); 1490 1495 } 1491 1496 -
trunk/WINDOW/AW_xkey.cxx
r6463 r6674 105 105 static GB_HASH *awxkeymap_string_2_key_hash; 106 106 static GB_NUMHASH *awxkeymap_xkey_2_key_hash; 107 static int generatedKeymaps_count = -1; 108 static awXKeymap *generatedKeymaps = 0; 109 107 110 108 111 const int MAPPED_KEYS = MODFREE*MODS+FIXEDMOD; … … 144 147 145 148 int modfree = i; 146 int gensize = modfree*MODS; 147 148 static awXKeymap *generated = 0; 149 150 aw_assert(generated == 0); // oops - called twice 151 generated = (awXKeymap*)GB_calloc(gensize, sizeof(*generated)); // never freed (cause hashes refers to it) 149 150 aw_assert(generatedKeymaps == 0); // oops - called twice 151 152 generatedKeymaps_count = modfree*MODS; 153 generatedKeymaps = (awXKeymap*)GB_calloc(generatedKeymaps_count, sizeof(*generatedKeymaps)); 152 154 153 155 for (i=0; i<modfree; ++i) { 154 156 const awXKeymap_modfree *mf = awxkeymap_modfree+i; 155 157 for (int j = 0; j<MODS; ++j) { 156 awXKeymap *km = generated +i*MODS+j;158 awXKeymap *km = generatedKeymaps+i*MODS+j; 157 159 awModDef *md = moddef+j; 158 160 … … 177 179 } 178 180 181 void aw_uninstall_xkeys() { 182 for (int i = 0; i<generatedKeymaps_count; ++i) { 183 awXKeymap& km = generatedKeymaps[i]; 184 int j = i%MODS; 185 awModDef& md = moddef[j]; 186 187 if (md.xstr_prefix) free((char*)km.xstr); 188 } 189 free(generatedKeymaps); generatedKeymaps = NULL; 190 191 GBS_free_numhash(awxkeymap_xkey_2_key_hash); awxkeymap_xkey_2_key_hash = NULL; 192 GBS_free_hash(awxkeymap_string_2_key_hash); awxkeymap_string_2_key_hash = NULL; 193 } 194 179 195 #if defined(DEBUG) 180 196 // #define DUMP_KEYEVENTS -
trunk/WINDOW/aw_root.hxx
r6666 r6674 183 183 184 184 void init_root(const char *programname, bool no_exit); 185 void exit_root(); 185 186 AW_default load_properties(const char *default_name); 186 187 -
trunk/WINDOW/aw_xkey.hxx
r6381 r6674 22 22 23 23 void aw_install_xkeys(Display *display); 24 void aw_uninstall_xkeys(); 24 25 const awXKeymap* aw_xkey_2_awkey(XKeyEvent *xkeyevent); 25 26
