chiark / gitweb /
Disobedience memory/widget debugging stuff has thoroughly rotted, so
authorRichard Kettlewell <rjk@greenend.org.uk>
Wed, 11 Jun 2008 10:50:02 +0000 (11:50 +0100)
committerRichard Kettlewell <rjk@greenend.org.uk>
Wed, 11 Jun 2008 10:50:02 +0000 (11:50 +0100)
rip it out.

disobedience/choose.c
disobedience/control.c
disobedience/disobedience.c
disobedience/disobedience.h
disobedience/misc.c

index ff5e72b52eabd4bfc4f605f225f3e5e24f1da226..269a0cd6688813e2024880e6e6fc9fc2dac06aee 100644 (file)
@@ -93,18 +93,6 @@ static struct {
 #define REPORT() ((void)0)
 #endif
 
-WT(label);
-WT(event_box);
-WT(menu);
-WT(menu_item);
-WT(layout);
-WT(vbox);
-WT(arrow);
-WT(hbox);
-WT(button);
-WT(image);
-WT(entry);
-
 /* Types */
 
 struct choosenode;
@@ -374,27 +362,22 @@ static void fill_root_node(struct choosenode *cn) {
 /** @brief Delete all the widgets owned by @p cn */
 static void delete_cn_widgets(struct choosenode *cn) {
   if(cn->arrow) {
-    DW(arrow);
     gtk_widget_destroy(cn->arrow);
     cn->arrow = 0;
   }
   if(cn->label) {
-    DW(label);
     gtk_widget_destroy(cn->label);
     cn->label = 0;
   }
   if(cn->marker) {
-    DW(image);
     gtk_widget_destroy(cn->marker);
     cn->marker = 0;
   }
   if(cn->hbox) {
-    DW(hbox);
     gtk_widget_destroy(cn->hbox);
     cn->hbox = 0;
   }
   if(cn->container) {
-    DW(event_box);
     gtk_widget_destroy(cn->container);
     cn->container = 0;
   }
@@ -867,11 +850,9 @@ static void redisplay_tree(const char *why) {
   files_selected = 0;
   files_visible = 0;
   /* Correct the layout and find out how much space it uses */
-  MTAG_PUSH("display_tree");
   searchnodes = nsearchresults ? xcalloc(nsearchresults, 
                                          sizeof (struct choosenode *)) : 0;
   d = display_tree(root, 0, 0);
-  MTAG_POP();
 
   BEGIN(gtkbits);
   /* We must set the total size or scrolling will not work (it wouldn't be hard
@@ -920,12 +901,9 @@ static struct displaydata display_tree(struct choosenode *cn, int x, int y) {
    */
   if(!cn->container) {
     BEGIN(new_widgets);
-    MTAG_PUSH("make_widgets_1");
     /* Widgets need to be created */
-    NW(hbox);
     cn->hbox = gtk_hbox_new(FALSE, 1);
     if(cn->flags & CN_EXPANDABLE) {
-      NW(arrow);
       cn->arrow = gtk_arrow_new(cn->flags & CN_EXPANDED ? GTK_ARROW_DOWN
                                                         : GTK_ARROW_RIGHT,
                                 GTK_SHADOW_NONE);
@@ -933,22 +911,15 @@ static struct displaydata display_tree(struct choosenode *cn, int x, int y) {
     } else {
       cn->arrow = 0;
       if((pb = find_image("notes.png"))) {
-        NW(image);
         cn->marker = gtk_image_new_from_pixbuf(pb);
       }
     }
-    MTAG_POP();
-    MTAG_PUSH("make_widgets_2");
-    NW(label);
     cn->label = gtk_label_new(cn->display);
     if(cn->arrow)
       gtk_container_add(GTK_CONTAINER(cn->hbox), cn->arrow);
     gtk_container_add(GTK_CONTAINER(cn->hbox), cn->label);
     if(cn->marker)
       gtk_container_add(GTK_CONTAINER(cn->hbox), cn->marker);
-    MTAG_POP();
-    MTAG_PUSH("make_widgets_3");
-    NW(event_box);
     cn->container = gtk_event_box_new();
     gtk_container_add(GTK_CONTAINER(cn->container), cn->hbox);
     g_signal_connect(cn->container, "button-release-event", 
@@ -958,7 +929,6 @@ static struct displaydata display_tree(struct choosenode *cn, int x, int y) {
     g_object_ref(cn->container);
     /* Show everything by default */
     gtk_widget_show_all(cn->container);
-    MTAG_POP();
     END(new_widgets);
   }
   assert(cn->container);
@@ -1450,14 +1420,12 @@ GtkWidget *choose_widget(void) {
    */
   
   /* Text entry box for search terms */
-  NW(entry);
   searchentry = gtk_entry_new();
   gtk_widget_set_style(searchentry, tool_style);
   g_signal_connect(searchentry, "changed", G_CALLBACK(searchentry_changed), 0);
   gtk_tooltips_set_tip(tips, searchentry, "Enter search terms here; search is automatic", "");
 
   /* Cancel button to clear the search */
-  NW(button);
   clearsearch = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
   gtk_widget_set_style(clearsearch, tool_style);
   g_signal_connect(G_OBJECT(clearsearch), "clicked",
@@ -1478,7 +1446,6 @@ GtkWidget *choose_widget(void) {
   gtk_widget_set_sensitive(nextsearch, 0);
 
   /* hbox packs the search tools button together on a line */
-  NW(hbox);
   hbox = gtk_hbox_new(FALSE/*homogeneous*/, 1/*spacing*/);
   gtk_box_pack_start(GTK_BOX(hbox), searchentry,
                      TRUE/*expand*/, TRUE/*fill*/, 0/*padding*/);
@@ -1491,29 +1458,24 @@ GtkWidget *choose_widget(void) {
   
   /* chooselayout contains the currently visible subset of the track
    * namespace */
-  NW(layout);
   chooselayout = gtk_layout_new(0, 0);
   gtk_widget_set_style(chooselayout, layout_style);
   choose_logged_in(0, 0, 0);
   event_register("logged-in", choose_logged_in, 0);
   /* Create the popup menus */
-  NW(menu);
   track_menu = gtk_menu_new();
   g_signal_connect(track_menu, "destroy", G_CALLBACK(gtk_widget_destroyed),
                    &track_menu);
   for(n = 0; track_menuitems[n].name; ++n) {
-    NW(menu_item);
     track_menuitems[n].w = 
       gtk_menu_item_new_with_label(track_menuitems[n].name);
     gtk_menu_attach(GTK_MENU(track_menu), track_menuitems[n].w,
                     0, 1, n, n + 1);
   }
-  NW(menu);
   dir_menu = gtk_menu_new();
   g_signal_connect(dir_menu, "destroy", G_CALLBACK(gtk_widget_destroyed),
                    &dir_menu);
   for(n = 0; dir_menuitems[n].name; ++n) {
-    NW(menu_item);
     dir_menuitems[n].w = 
       gtk_menu_item_new_with_label(dir_menuitems[n].name);
     gtk_menu_attach(GTK_MENU(dir_menu), dir_menuitems[n].w,
@@ -1524,7 +1486,6 @@ GtkWidget *choose_widget(void) {
   vadjust = gtk_layout_get_vadjustment(GTK_LAYOUT(chooselayout));
 
   /* The scrollable layout and the search hbox go together in a vbox */
-  NW(vbox);
   vbox = gtk_vbox_new(FALSE/*homogenous*/, 1/*spacing*/);
   gtk_box_pack_start(GTK_BOX(vbox), hbox,
                      FALSE/*expand*/, FALSE/*fill*/, 0/*padding*/);
index c41673ad97e3a6ed0987d16e9ea9a9b6bf7499ca..b62fc06778d448bdbfd782f583d13d3268b0ea24 100644 (file)
 
 /* Forward declarations ---------------------------------------------------- */
 
-WT(adjustment);
-WT(hscale);
-WT(hbox);
-WT(button);
-WT(image);
-WT(label);
-WT(vbox);
-
 struct icon;
 
 static void clicked_icon(GtkButton *, gpointer);
@@ -248,12 +240,10 @@ GtkWidget *control_widget(void) {
   GtkWidget *hbox = gtk_hbox_new(FALSE, 1), *vbox;
   int n;
 
-  NW(hbox);
   D(("control_widget"));
   assert(mainmenufactory);              /* ordering must be right */
   for(n = 0; n < NICONS; ++n) {
     /* Create the button */
-    NW(button);
     icons[n].button = gtk_button_new();
     gtk_widget_set_style(icons[n].button, tool_style);
     icons[n].image_on = gtk_image_new_from_pixbuf(find_image(icons[n].icon_on));
@@ -269,7 +259,6 @@ GtkWidget *control_widget(void) {
                      G_CALLBACK(clicked_icon), &icons[n]);
     /* pop the icon in a vbox so it doesn't get vertically stretch if there are
      * taller things in the control bar */
-    NW(vbox);
     vbox = gtk_vbox_new(FALSE, 0);
     gtk_box_pack_start(GTK_BOX(vbox), icons[n].button, TRUE, FALSE, 0);
     gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
@@ -290,17 +279,13 @@ GtkWidget *control_widget(void) {
       event_register(*events++, icon_changed, &icons[n]);
   }
   /* create the adjustments for the volume control */
-  NW(adjustment);
   volume_adj = GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, goesupto,
                                                  goesupto / 20, goesupto / 20,
                                                  0));
-  NW(adjustment);
   balance_adj = GTK_ADJUSTMENT(gtk_adjustment_new(0, -1, 1,
                                                   0.2, 0.2, 0));
   /* the volume control */
-  NW(hscale);
   volume_widget = gtk_hscale_new(volume_adj);
-  NW(hscale);
   balance_widget = gtk_hscale_new(balance_adj);
   gtk_widget_set_style(volume_widget, tool_style);
   gtk_widget_set_style(balance_widget, tool_style);
index 5acadf894e10d22f287039f9f274dfbdb757fdb0..818128d84fcafd052c444dd074932d2bca2f494f 100644 (file)
@@ -195,94 +195,6 @@ static void make_toplevel_window(void) {
   gtk_widget_set_style(toplevel, tool_style);
 }
 
-#if MDEBUG
-static int widget_count, container_count;
-
-static void count_callback(GtkWidget *w,
-                           gpointer attribute((unused)) data) {
-  ++widget_count;
-  if(GTK_IS_CONTAINER(w)) {
-    ++container_count;
-    gtk_container_foreach(GTK_CONTAINER(w), count_callback, 0);
-  }
-}
-
-static void count_widgets(void) {
-  widget_count = 0;
-  container_count = 1;
-  if(toplevel)
-    gtk_container_foreach(GTK_CONTAINER(toplevel), count_callback, 0);
-  fprintf(stderr, "widget count: %8d  container count: %8d\n",
-          widget_count, container_count);
-}
-#endif
-
-#if MTRACK
-const char *mtag = "init";
-static hash *mtrack_hash;
-
-static int *mthfind(const char *tag) {
-  static const int zero = 0;
-  int *cp = hash_find(mtrack_hash, tag);
-  if(!cp) {
-    hash_add(mtrack_hash, tag, &zero, HASH_INSERT);
-    cp = hash_find(mtrack_hash, tag);
-  }
-  return cp;
-}
-
-static void *trap_malloc(size_t n) {
-  void *ptr = malloc(n + sizeof(char *));
-
-  *(const char **)ptr = mtag;
-  ++*mthfind(mtag);
-  return (char *)ptr + sizeof(char *);
-}
-
-static void trap_free(void *ptr) {
-  const char *tag;
-  if(!ptr)
-    return;
-  ptr = (char *)ptr - sizeof(char *);
-  tag = *(const char **)ptr;
-  --*mthfind(tag);
-  free(ptr);
-}
-
-static void *trap_realloc(void *ptr, size_t n) {
-  if(!ptr)
-    return trap_malloc(n);
-  if(!n) {
-    trap_free(ptr);
-    return 0;
-  }
-  ptr = (char *)ptr - sizeof(char *);
-  ptr = realloc(ptr, n + sizeof(char *));
-  *(const char **)ptr = mtag;
-  return (char *)ptr + sizeof(char *);
-}
-
-static int report_tags_callback(const char *key, void *value,
-                                void attribute((unused)) *u) {
-  fprintf(stderr, "%16s: %d\n", key, *(int *)value);
-  return 0;
-}
-
-static void report_tags(void) {
-  hash_foreach(mtrack_hash, report_tags_callback, 0);
-  fprintf(stderr, "\n");
-}
-
-static const GMemVTable glib_memvtable = {
-  trap_malloc,
-  trap_realloc,
-  trap_free,
-  0,
-  0,
-  0
-};
-#endif
-
 static void userinfo_rights_completed(void attribute((unused)) *v,
                                       const char *error,
                                       const char *value) {
@@ -313,13 +225,6 @@ static gboolean periodic_slow(gpointer attribute((unused)) data) {
   /* Update everything to be sure that the connection to the server hasn't
    * mysteriously gone stale on us. */
   all_update();
-#if MDEBUG
-  count_widgets();
-  fprintf(stderr, "cache size: %zu\n", cache_count());
-#endif
-#if MTRACK
-  report_tags();
-#endif
   /* Periodically check what our rights are */
   if(!rights_lookup_in_flight) {
     rights_lookup_in_flight = 1;
@@ -466,10 +371,6 @@ int main(int argc, char **argv) {
   /* garbage-collect PCRE's memory */
   pcre_malloc = xmalloc;
   pcre_free = xfree;
-#if MTRACK
-  mtrack_hash = hash_new(sizeof (int));
-  g_mem_set_vtable((GMemVTable *)&glib_memvtable);
-#endif
   if(!setlocale(LC_CTYPE, "")) fatal(errno, "error calling setlocale");
   gtkok = gtk_init_check(&argc, &argv);
   while((n = getopt_long(argc, argv, "hVc:dtHC", options, 0)) >= 0) {
@@ -520,7 +421,6 @@ int main(int argc, char **argv) {
   if(!config->password)
     login_box();
   D(("enter main loop"));
-  MTAG("misc");
   g_main_loop_run(mainloop);
   return 0;
 }
index 2beb032baecd638397e2ebe0d1daea8decbf3aed..21f3bf6088ba5646b66d1302373e876a5624a7eb 100644 (file)
@@ -266,35 +266,6 @@ void load_settings(void);
 void set_tool_colors(GtkWidget *w);
 void popup_settings(void);
 
-/* Widget leakage debugging rubbish ---------------------------------------- */
-
-#if MDEBUG
-#define NW(what) do {                                   \
-  if(++current##what % 100 > max##what) {               \
-    fprintf(stderr, "%s:%d: %d %s\n",                   \
-            __FILE__, __LINE__, current##what, #what);  \
-    max##what = current##what;                          \
-  }                                                     \
-} while(0)
-#define WT(what) static int current##what, max##what
-#define DW(what) (--current##what)
-#else
-#define NW(what) do { } while(0)
-#define DW(what) do { } while(0)
-#define WT(what) struct neverused
-#endif
-
-#if MTRACK
-extern const char *mtag;
-#define MTAG(x) do { mtag = x; } while(0)
-#define MTAG_PUSH(x) do { const char *save_mtag = mtag; mtag = x; (void)0
-#define MTAG_POP() mtag = save_mtag; } while(0)
-#else
-#define MTAG(x) do { } while(0)
-#define MTAG_PUSH(x) do {} while(0)
-#define MTAG_POP() do {} while(0)
-#endif
-
 #endif /* DISOBEDIENCE_H */
 
 /*
index da0db603e3f9769c9cef65b23cfea8050ef0b29b..8c4ed095a61f2b4a8f4568bb8c82e1032d484fc2 100644 (file)
@@ -33,8 +33,6 @@ struct image {
 
 /* Miscellaneous GTK+ stuff ------------------------------------------------ */
 
-WT(cached_image);
-
 /* Functions */
 
 /** @brief Put scrollbars around a widget
@@ -123,7 +121,6 @@ GdkPixbuf *find_image(const char *name) {
         return 0;
       }
     }
-    NW(cached_image);
     cache_put(&image_cache_type, name,  pb);
   }
   return pb;
@@ -167,13 +164,10 @@ GtkWidget *iconbutton(const char *path, const char *tip) {
   GtkWidget *button, *content;
   GdkPixbuf *pb;
 
-  NW(button);
   button = gtk_button_new();
   if((pb = find_image(path))) {
-    NW(image);
     content = gtk_image_new_from_pixbuf(pb);
   } else {
-    NW(label);
     content = gtk_label_new(path);
   }
   gtk_widget_set_style(button, tool_style);