Skip to content

Commit

Permalink
Merge pull request #103 from lidaobing/issue_100
Browse files Browse the repository at this point in the history
Issue 100: fix crash
  • Loading branch information
lidaobing authored Jan 19, 2018
2 parents a5d5ff8 + d75c277 commit 05796ef
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
1 change: 1 addition & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# 0.7.3 (2018-XX-XX)

* [#98] fix typo, thanks to @hosiet.
* [#100] fix crash on the context menu of statusicon.

# 0.7.2 (2018-01-16)

Expand Down
9 changes: 4 additions & 5 deletions src/iptux/StatusIcon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ void StatusIcon::CreateStatusIcon()
gtk_status_icon_set_screen(statusicon, screen);

g_signal_connect_swapped(statusicon, "activate", G_CALLBACK(StatusIconActivate), this);
g_signal_connect(statusicon, "popup-menu", G_CALLBACK(onPopupMenu), NULL);
g_signal_connect_swapped(statusicon, "popup-menu", G_CALLBACK(onPopupMenu), this);
g_object_set(statusicon, "has-tooltip", TRUE, NULL);
g_signal_connect(statusicon, "query-tooltip",
G_CALLBACK(StatusIconQueryTooltip), NULL);
Expand Down Expand Up @@ -103,7 +103,7 @@ GtkWidget* StatusIcon::CreatePopupMenu()
image = gtk_image_new_from_icon_name("menu-board", GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
g_signal_connect(menuitem, "activate", G_CALLBACK(onActivate), this);
g_signal_connect_swapped(menuitem, "activate", G_CALLBACK(onActivate), this);

menuitem = gtk_separator_menu_item_new();
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
Expand All @@ -114,7 +114,7 @@ GtkWidget* StatusIcon::CreatePopupMenu()
image = gtk_image_new_from_stock(GTK_STOCK_CONNECT, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
g_signal_connect(menuitem, "activate", G_CALLBACK(ShowTransWindow), this);
g_signal_connect_swapped(menuitem, "activate", G_CALLBACK(ShowTransWindow), this);

/* 首选项 */
NO_OPERATION_C
Expand Down Expand Up @@ -202,8 +202,7 @@ void StatusIcon::StatusIconActivate(StatusIcon* self)
* @param button the button that was pressed
* @param time the timestamp of the event that triggered the signal emission
*/
void StatusIcon::onPopupMenu(GtkStatusIcon *statusicon, guint button, guint time, StatusIcon* self)
{
void StatusIcon::onPopupMenu(StatusIcon* self, guint button, guint time) {
GtkWidget *menu;

menu = self->CreatePopupMenu();
Expand Down
2 changes: 1 addition & 1 deletion src/iptux/StatusIcon.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class StatusIcon {
private:
static void ShowTransWindow(StatusIcon* self);
static void StatusIconActivate(StatusIcon* self);
static void onPopupMenu(GtkStatusIcon *statusicon, guint button, guint time, StatusIcon* self);
static void onPopupMenu(StatusIcon* self, guint button, guint time);
static gboolean StatusIconQueryTooltip(GtkStatusIcon *statusicon, gint x, gint y,
gboolean key, GtkTooltip *tooltip);
static gboolean onActivate(StatusIcon* self);
Expand Down

0 comments on commit 05796ef

Please sign in to comment.