From 5bddcf4af9c3c8700b0661051e02db4f9e8faf6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= Date: Sat, 5 Nov 2005 00:49:34 +0000 Subject: [PATCH] +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. + --- ChangeLog | 8 ++++++++ TODO | 7 +++++++ configure.ac | 6 +++++- sysprof.c | 13 ++++++++----- 4 files changed, 28 insertions(+), 6 deletions(-) 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; }