+2005-11-03 Soren Sandmann <sandmann@redhat.com>
authorSøren Sandmann Pedersen <ssp@src.gnome.org>
Sat, 5 Nov 2005 00:49:34 +0000 (00:49 +0000)
committerSøren Sandmann Pedersen <ssp@src.gnome.org>
Sat, 5 Nov 2005 00:49:34 +0000 (00:49 +0000)
+
+       * configure.ac: Make the message about the kernel source package
+       more informative. Code from Kjetil Torgrim Homme.
+
+       * sysprof.c (on_start_toggled): Only delete the data if the
+       profiling can actually be started.
+

ChangeLog
TODO
configure.ac
sysprof.c

index ca76f43..51ac69e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-11-03  Soren Sandmann  <sandmann@redhat.com>
+
+       * configure.ac: Make the message about the kernel source package
+       more informative. Code from Kjetil Torgrim Homme.
+
+       * sysprof.c (on_start_toggled): Only delete the data if the 
+       profiling can actually be started.
+
 2005-11-01  Soeren Sandmann  <sandmann@redhat.com>
 
        * sysprof.c (on_start_toggled): Update GUI after showing error
diff --git a/TODO b/TODO
index fbdd7e8..16abc7b 100644 (file)
--- a/TODO
+++ b/TODO
@@ -13,8 +13,15 @@ Before 1.0.1:
 
      Someone already did create a package - should be googlable.
 
+* Press start without kernel module loaded, then load kernel module and 
+  press start again. Segmentation fault.
+
 Before 1.2:
 
+* With kernel module not installed, select Profiler->Start, then dismiss
+  the alert. This causes the start button to appear prelighted. Probably
+  just another gtk+ bug.
+
 * Don't build the GUI if gtk+ is not installed
 
 * Handle time being set back in the RESET_DEAD_PERIOD code.
index db5b721..856b96b 100644 (file)
@@ -69,9 +69,13 @@ if test $kernel_module = "yes"; then
   fi
 
   if [ ! test -f /lib/modules/`uname -r`/build/Makefile ] ; then
+     case `uname -r` in
+     *smp) pkg=kernel-smp-devel ;;
+     *) pkg=kernel-devel ;;
+     esac
      echo \*
      echo \* Sysprof requires the kernel source code to be installed.
-     echo \* On a Fedora Core system the relevant package is kernel-devel
+     echo \* On a Fedora Core system the relevant package is $pkg
      echo \*
      exit 1
   fi
index 74d3a86..7a8fc88 100644 (file)
--- a/sysprof.c
+++ b/sysprof.c
@@ -190,8 +190,9 @@ update_sensitivity (Application *app)
        g_assert_not_reached();
        break;
     }
-    
-    gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (active_radio_button), TRUE);
+
+    gtk_toggle_tool_button_set_active (
+       GTK_TOGGLE_TOOL_BUTTON (active_radio_button), TRUE);
 
     /* "profile" widgets */
     gtk_widget_set_sensitive (GTK_WIDGET (app->profile_button),
@@ -333,12 +334,12 @@ static void
 on_start_toggled (GtkWidget *widget, gpointer data)
 {
     Application *app = data;
-
+    
     if (!gtk_toggle_tool_button_get_active (
            GTK_TOGGLE_TOOL_BUTTON (app->start_button)))
+    {
        return;
-
-    delete_data (app);
+    }
 
     /* FIXME: get the real error message */
     if (!collector_start (app->collector, NULL))
@@ -353,6 +354,8 @@ on_start_toggled (GtkWidget *widget, gpointer data)
     }
     else
     {
+       delete_data (app);
+
        app->state = PROFILING;
     }