Signed-off-by: Nikola Pajkovsky npajkovs@redhat.com --- .gitignore | 4 ++-- abrt.spec | 7 ------- configure.ac | 1 - src/Makefile.am | 2 +- src/applet/applet.c | 14 +++++++------- src/applet/applet_gtk.c | 11 ++++++----- src/applet/applet_gtk.h | 2 +- src/daemon/Daemon.cpp | 10 ++++++---- src/gui-gtk/Makefile.am | 13 +++++++++---- src/gui-gtk/abrt.desktop.in | 11 +++++++++++ src/gui/abrt.desktop.in | 11 ----------- 11 files changed, 43 insertions(+), 43 deletions(-) create mode 100644 src/gui-gtk/abrt.desktop.in delete mode 100644 src/gui/abrt.desktop.in
diff --git a/.gitignore b/.gitignore index 099edf7..f642b70 100644 --- a/.gitignore +++ b/.gitignore @@ -27,7 +27,7 @@ src/daemon/abrt-handle-crashdump src/daemon/abrt-server src/daemon/abrtd
-src/gui-gtk/abrt-gtk +src/gui-gtk/abrt-gui
src/applet/abrt-applet
@@ -37,7 +37,7 @@ src/hooks/abrt_exception_handler.py src/hooks/abrt-hook-ccpp
src/applet/abrt-applet.desktop -src/gui/abrt.desktop +src/gui-gtk/abrt.desktop
src/gui-wizard-gtk/bug-reporting-wizard
diff --git a/abrt.spec b/abrt.spec index e07cb49..4837587 100644 --- a/abrt.spec +++ b/abrt.spec @@ -112,11 +112,7 @@ Development libraries and headers for %{name}. Summary: %{name}'s gui Group: User Interface/Desktops Requires: %{name} = %{version}-%{release} -Requires: dbus-python, pygtk2, pygtk2-libglade, -Requires: gnome-python2-gnomekeyring Requires: libreport-gtk -# only if gtk2 version < 2.17: -#Requires: python-sexy # we used to have abrt-applet, now abrt-gui includes it: Provides: abrt-applet = %{version}-%{release} Obsoletes: abrt-applet < 0.0.5 @@ -459,11 +455,8 @@ fi %files gui %defattr(-,root,root,-) %{_bindir}/abrt-gui -%{_bindir}/abrt-gtk %dir %{_datadir}/%{name} # all glade, gtkbuilder and py files for gui -%{_datadir}/%{name}/*.py* -%{_datadir}/%{name}/*.glade %{_datadir}/applications/fedora-%{name}.desktop %{_datadir}/icons/hicolor/*/apps/* %{_datadir}/icons/hicolor/*/status/* diff --git a/configure.ac b/configure.ac index ccd25f6..1d6fab9 100644 --- a/configure.ac +++ b/configure.ac @@ -133,7 +133,6 @@ AC_CONFIG_FILES([ src/daemon/Makefile src/hooks/Makefile src/applet/Makefile - src/gui/Makefile src/gui-gtk/Makefile src/gui-wizard-gtk/Makefile src/cli/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index c6d3abd..066fadf 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 1a2bf5c..56266f1 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 d31328a..0434964 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 0bcf47b..ca1a39c 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 2d2c85e..de0054b 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 occures 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 6475408..2c52524 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-gtk/abrt.desktop.in b/src/gui-gtk/abrt.desktop.in new file mode 100644 index 0000000..99d7f8f --- /dev/null +++ b/src/gui-gtk/abrt.desktop.in @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +_Name=Automatic Bug Reporting Tool +_Comment=View and report application crashes +Exec=abrt-gui +Icon=abrt +Terminal=false +Type=Application +Categories=System;X-Red-Hat-Base; +StartupNotify=true +X-Desktop-File-Install-Version=0.15 diff --git a/src/gui/abrt.desktop.in b/src/gui/abrt.desktop.in deleted file mode 100644 index 99d7f8f..0000000 --- a/src/gui/abrt.desktop.in +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -_Name=Automatic Bug Reporting Tool -_Comment=View and report application crashes -Exec=abrt-gui -Icon=abrt -Terminal=false -Type=Application -Categories=System;X-Red-Hat-Base; -StartupNotify=true -X-Desktop-File-Install-Version=0.15
crash-catcher@lists.fedorahosted.org