diff --git a/ChangeLog b/ChangeLog index ca76f43f..51ac69e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-11-03 Soren Sandmann + + * 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 * sysprof.c (on_start_toggled): Update GUI after showing error diff --git a/TODO b/TODO index fbdd7e8a..16abc7b3 100644 --- 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. diff --git a/configure.ac b/configure.ac index db5b7216..856b96b6 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/sysprof.c b/sysprof.c index 74d3a86f..7a8fc884 100644 --- 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; }