small updates cosmetic updates cosmetic updates
authorSøren Sandmann <sandmann@redhat.com>
Thu, 5 Jan 2006 22:52:59 +0000 (22:52 +0000)
committerSøren Sandmann Pedersen <ssp@src.gnome.org>
Thu, 5 Jan 2006 22:52:59 +0000 (22:52 +0000)
Thu Jan  5 17:52:10 2006  Søren Sandmann  <sandmann@redhat.com>

* TODO: small updates
* sysprof.c: cosmetic updates
* module/sysprof-module.c: cosmetic updates

ChangeLog
TODO
module/sysprof-module.c
sysprof.c

index 8f333a9..26b1e3c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Jan  5 17:52:10 2006  Søren Sandmann  <sandmann@redhat.com>
+
+       * TODO: small updates
+       * sysprof.c: cosmetic updates
+       * module/sysprof-module.c: cosmetic updates
+
 2005-12-20  Kristian Høgsberg  <krh@redhat.com>
 
        * module/sysprof-module.c: Remove left over debug print out and
diff --git a/TODO b/TODO
index 6e311b6..af4e47c 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,4 +1,4 @@
-Before 1.0.1:
+Before 1.0.2:
 
 * See if we can reproduce the problem where libraries didn't get correctly
   reloaded after new versions were installed.
@@ -96,8 +96,8 @@ Before 1.2:
          if it doesn't, load as 1.0, otherwise as whatever the version claims
          it is.
 
-       * Make provisions for forward compatibility: maybe it should be possible
-         to load records with more fields than specified.
+       * Make provisions for forward compatibility: maybe it should be
+         possible to load records with more fields than specified.
 
        * Figure out how to make sfile.[ch] use less memory.
        
@@ -154,7 +154,7 @@ Before 1.2:
 
 - See if there is a way to make it distcheck
 
-- grep FIXME - not10
+- grep "FIXME - not10"
 
 - translation should be hooked up 
 
@@ -201,9 +201,6 @@ http://www.linuxbase.org/spec/booksets/LSB-Embedded/LSB-Embedded/ehframe.html
 - Charge 'self' properly to processes that don't get any stack trace at all 
        (probably we get that for free with stackstash reorganisation)
 
-- support more than one reader of the samples properly
-       - Don't generate them if noone cares
-
 - Add ability to show more than one function at a time. Algorithm:
        Find all relevant nodes;
        For each relevant node
@@ -218,6 +215,7 @@ http://www.linuxbase.org/spec/booksets/LSB-Embedded/LSB-Embedded/ehframe.html
                        add trace to tree (leaf, interesting)
 - Consider adding KDE-style nested callgraph view
        - probably need a dependency on gtk+ 2.8 (cairo) for this.
+       - Matthias has code for something like this.
 - Add support for line numbers within functions
        - Possibly a special "view details" mode, assuming that 
          the details of a function are not that interesting 
@@ -226,7 +224,6 @@ http://www.linuxbase.org/spec/booksets/LSB-Embedded/LSB-Embedded/ehframe.html
 - rethink caller list, not terribly useful at the moment. Federico suggested
   listing all ancestors.
 
-
 - Have kernel module report the file the address was found in
        Should avoid a lot of potential broken/raciness with dlopen etc.
        Probably better to send a list of maps with each trace.
@@ -419,6 +416,9 @@ Later:
 
 DONE:
 
+* support more than one reader of the samples properly
+       - Don't generate them if noone cares
+
 * Correctness
        - When the module is unloaded, kill all processes blocking in read
                - or block unloading until all processes have exited
index d381590..bc5991e 100644 (file)
@@ -95,7 +95,7 @@ read_frame (void *frame_pointer, StackFrame *frame)
 
        if (__copy_from_user_inatomic (
                    frame, frame_pointer, sizeof (StackFrame)))
-               return 2;
+               return 1;
 
        return 0;
 }
index c56cbcc..345afb1 100644 (file)
--- a/sysprof.c
+++ b/sysprof.c
@@ -918,6 +918,9 @@ on_delete (GtkWidget *window,
           Application *app)
 {
     /* Workaround for http://bugzilla.gnome.org/show_bug.cgi?id=317775
+     *
+     * Without it, the read callbacks can fire _after_ gtk_main_quit()
+     * has been called and cause stuff to be called on destroyed widgets.
      */
     while (gtk_main_iteration ())
        ;
@@ -1430,7 +1433,8 @@ build_gui (Application *app)
     /* TreeViews */
     
     /* object view */
-    app->object_view = (GtkTreeView *)glade_xml_get_widget (xml, "object_view");
+    app->object_view =
+       (GtkTreeView *)glade_xml_get_widget (xml, "object_view");
     gtk_tree_view_set_enable_search (app->object_view, FALSE);
     col = add_plain_text_column (app->object_view, _("Functions"), OBJECT_NAME);
     add_double_format_column (app->object_view, _("Self"), OBJECT_SELF, "%.2f ");
@@ -1463,8 +1467,6 @@ build_gui (Application *app)
                      G_CALLBACK (on_descendants_row_expanded_or_collapsed), app);
     gtk_tree_view_column_set_expand (col, TRUE);
     
-    gtk_widget_grab_focus (GTK_WIDGET (app->object_view));
-    
     /* screenshot window */
     app->screenshot_window = glade_xml_get_widget (xml, "screenshot_window");
     app->screenshot_textview = glade_xml_get_widget (xml, "screenshot_textview");
@@ -1486,7 +1488,8 @@ build_gui (Application *app)
     gtk_widget_show_all (app->main_window);
     gtk_widget_hide (app->dummy_button);
     gtk_widget_hide (app->screenshot_window);
-    
+     
+    gtk_widget_grab_focus (GTK_WIDGET (app->object_view));
     queue_show_samples (app);
     
     return TRUE;