diff options
author | Nikola Pajkovsky <npajkovs@redhat.com> | 2011-03-10 17:41:55 +0100 |
---|---|---|
committer | Nikola Pajkovsky <npajkovs@redhat.com> | 2011-03-11 11:30:12 +0100 |
commit | 2cf9c55560f7390d5364d182408cd4527700c53f (patch) | |
tree | 9842b6249b631457b5cda6b6946bcd12e3c3fab3 /src | |
parent | 3e5a7859cccf49acbb0bdd3ca841545e5ab0f4c5 (diff) | |
download | abrt-2cf9c55560f7390d5364d182408cd4527700c53f.tar.gz abrt-2cf9c55560f7390d5364d182408cd4527700c53f.tar.xz abrt-2cf9c55560f7390d5364d182408cd4527700c53f.zip |
override old gui by new one
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/applet/applet.c | 14 | ||||
-rw-r--r-- | src/applet/applet_gtk.c | 11 | ||||
-rw-r--r-- | src/applet/applet_gtk.h | 2 | ||||
-rw-r--r-- | src/daemon/Daemon.cpp | 10 | ||||
-rw-r--r-- | src/gui-gtk/Makefile.am | 13 | ||||
-rw-r--r-- | src/gui-gtk/abrt.desktop.in (renamed from src/gui/abrt.desktop.in) | 0 |
7 files changed, 30 insertions, 22 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index c6d3abd9..066fadf2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1 +1 @@ -SUBDIRS = include lib report-python hooks btparser daemon applet gui gui-gtk cli plugins gui-wizard-gtk retrace +SUBDIRS = include lib report-python hooks btparser daemon applet gui-gtk cli plugins gui-wizard-gtk retrace diff --git a/src/applet/applet.c b/src/applet/applet.c index 1a2bf5c0..56266f12 100644 --- a/src/applet/applet.c +++ b/src/applet/applet.c @@ -46,8 +46,8 @@ static void Crash(DBusMessage* signal) error_msg("dbus signal %s: parameter type mismatch", __func__); return; } - const char* crash_id = NULL; - r = load_charp(&in_iter, &crash_id); + const char* crash_dir = NULL; + r = load_charp(&in_iter, &crash_dir); /* 3rd param: dir */ //dir parameter is not used for now, use is planned in the future @@ -94,10 +94,10 @@ static void Crash(DBusMessage* signal) */ static time_t last_time = 0; static char* last_package_name = NULL; - static char* last_crash_id = NULL; + static char* last_crash_dir = NULL; time_t cur_time = time(NULL); if (last_package_name && strcmp(last_package_name, package_name) == 0 - && last_crash_id && strcmp(last_crash_id, crash_id) == 0 + && last_crash_dir && strcmp(last_crash_dir, crash_dir) == 0 && (unsigned)(cur_time - last_time) < 2 * 60 * 60 ) { log_msg("repeated crash in %s, not showing the notification", package_name); @@ -106,10 +106,10 @@ static void Crash(DBusMessage* signal) last_time = cur_time; free(last_package_name); last_package_name = xstrdup(package_name); - free(last_crash_id); - last_crash_id = xstrdup(crash_id); + free(last_crash_dir); + last_crash_dir = xstrdup(dir); - show_crash_notification(applet, crash_id, message, package_name); + show_crash_notification(applet, dir, message, package_name); } static void QuotaExceeded(DBusMessage* signal) diff --git a/src/applet/applet_gtk.c b/src/applet/applet_gtk.c index d31328aa..04349648 100644 --- a/src/applet/applet_gtk.c +++ b/src/applet/applet_gtk.c @@ -65,12 +65,13 @@ static void action_report(NotifyNotification *notification, gchar *action, gpoin perror_msg("vfork"); if (pid == 0) { /* child */ - char *buf = xasprintf("--report=%s", applet->ap_last_crash_id); signal(SIGCHLD, SIG_DFL); /* undo SIG_IGN in abrt-applet */ - execl(BIN_DIR"/abrt-gui", "abrt-gui", buf, (char*) NULL); + execl(BIN_DIR"/bug-reporting-wizard", "bug-reporting-wizard", + applet->ap_last_crash_id, (char*) NULL); /* Did not find abrt-gui in installation directory. Oh well */ /* Trying to find it in PATH */ - execlp("abrt-gui", "abrt-gui", buf, (char*) NULL); + execlp("bug-reporting-wizard", "bug-reporting-wizard", + applet->ap_last_crash_id, (char*) NULL); perror_msg_and_die("Can't execute abrt-gui"); } GError *err = NULL; @@ -348,9 +349,9 @@ void set_icon_tooltip(struct applet *applet, const char *format, ...) free(buf); } -void show_crash_notification(struct applet *applet, const char* crash_id, const char *format, ...) +void show_crash_notification(struct applet *applet, const char* crash_dir, const char *format, ...) { - applet->ap_last_crash_id = crash_id; + applet->ap_last_crash_id = crash_dir; va_list args; va_start(args, format); char *buf = xvasprintf(format, args); diff --git a/src/applet/applet_gtk.h b/src/applet/applet_gtk.h index 0bcf47b7..ca1a39c7 100644 --- a/src/applet/applet_gtk.h +++ b/src/applet/applet_gtk.h @@ -56,7 +56,7 @@ void applet_destroy(struct applet *applet); void show_icon(struct applet *applet); void hide_icon(struct applet *applet); void set_icon_tooltip(struct applet *applet, const char *format, ...); -void show_crash_notification(struct applet *applet, const char* crash_id, const char *format, ...); +void show_crash_notification(struct applet *applet, const char* crash_dir, const char *format, ...); void show_msg_notification(struct applet *applet, const char *format, ...); void disable(struct applet *applet, const char *reason); void enable(struct applet *applet, const char *reason); diff --git a/src/daemon/Daemon.cpp b/src/daemon/Daemon.cpp index 2d2c85ed..5555138c 100644 --- a/src/daemon/Daemon.cpp +++ b/src/daemon/Daemon.cpp @@ -382,6 +382,7 @@ static gboolean handle_inotify_cb(GIOChannel *gio, GIOCondition condition, gpoin crash_data_t *crash_data = NULL; fullname = concat_path_file(DEBUG_DUMPS_DIR, name); mw_result_t res = LoadDebugDump(fullname, &crash_data); + const char *first = get_crash_item_content_or_NULL(crash_data, CD_DUMPDIR); switch (res) { case MW_OK: @@ -392,7 +393,6 @@ static gboolean handle_inotify_cb(GIOChannel *gio, GIOCondition condition, gpoin { if (res != MW_OK) { - const char *first = get_crash_item_content_or_NULL(crash_data, CD_DUMPDIR); log("Deleting crash %s (dup of %s), sending dbus signal", strrchr(fullname, '/') + 1, strrchr(first, '/') + 1); @@ -408,10 +408,12 @@ static gboolean handle_inotify_cb(GIOChannel *gio, GIOCondition condition, gpoin get_crash_item_content_or_NULL(crash_data, FILENAME_UID), get_crash_item_content_or_NULL(crash_data, FILENAME_UUID) ); + /* when dupe occurs we need to return first occure not the one which + * is deleted */ send_dbus_sig_Crash(get_crash_item_content_or_NULL(crash_data, FILENAME_PACKAGE), - crash_id, //TODO: stop passing this param, it is unused - fullname, - uid_str + crash_id, //TODO: stop passing this param, it is unused + (first)? first: fullname, + uid_str ); free(crash_id); break; diff --git a/src/gui-gtk/Makefile.am b/src/gui-gtk/Makefile.am index 64754080..2c525245 100644 --- a/src/gui-gtk/Makefile.am +++ b/src/gui-gtk/Makefile.am @@ -1,10 +1,10 @@ -bin_PROGRAMS = abrt-gtk +bin_PROGRAMS = abrt-gui -abrt_gtk_SOURCES = \ +abrt_gui_SOURCES = \ abrt-gtk.h abrt-gtk.c \ event_config_dialog.h event_config_dialog.c \ main.c -abrt_gtk_CFLAGS = \ +abrt_gui_CFLAGS = \ -I$(srcdir)/../include/report -I$(srcdir)/../include \ -I$(srcdir)/../lib \ -DBIN_DIR=\"$(bindir)\" \ @@ -22,7 +22,7 @@ abrt_gtk_CFLAGS = \ # -I/usr/lib/glib-2.0/include # $(LIBNOTIFY_CFLAGS) # $(DBUS_GLIB_CFLAGS) -abrt_gtk_LDADD = \ +abrt_gui_LDADD = \ ../lib/libreport.la \ ../lib/libabrt_dbus.la \ -lglib-2.0 \ @@ -44,3 +44,8 @@ abrt_gtk_LDADD = \ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ @INTLTOOL_DESKTOP_RULE@ +desktopdir = $(datadir)/applications +desktop_in_files = abrt.desktop.in +desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) + +EXTRA_DIST = $(desktop_in_files) diff --git a/src/gui/abrt.desktop.in b/src/gui-gtk/abrt.desktop.in index 99d7f8f8..99d7f8f8 100644 --- a/src/gui/abrt.desktop.in +++ b/src/gui-gtk/abrt.desktop.in |