diff options
| author | Alexander Valavanis <valavanisalex@gmail.com> | 2019-01-27 13:26:05 +0000 |
|---|---|---|
| committer | Alexander Valavanis <valavanisalex@gmail.com> | 2019-01-27 13:26:05 +0000 |
| commit | e3b9f3561eac456a0758690aa361e0b6d33a6100 (patch) | |
| tree | 07231a406b45fda6b7ee5ac9d0b82a113ce39c7a /src | |
| parent | SpinButtonToolItem: Create popup menu on right-click (diff) | |
| download | inkscape-e3b9f3561eac456a0758690aa361e0b6d33a6100.tar.gz inkscape-e3b9f3561eac456a0758690aa361e0b6d33a6100.zip | |
SpinButtonToolItem: Handle menu-button press
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/widget/spin-button-tool-item.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/ui/widget/spin-button-tool-item.cpp b/src/ui/widget/spin-button-tool-item.cpp index 32066ab74..21a82d48e 100644 --- a/src/ui/widget/spin-button-tool-item.cpp +++ b/src/ui/widget/spin-button-tool-item.cpp @@ -365,7 +365,7 @@ SpinButtonToolItem::SpinButtonToolItem(const Glib::ustring name, set_name(_name); // Handle popup menu - signal_popup_menu().connect(sigc::mem_fun(*this, &SpinButtonToolItem::on_popup_menu), false); + _btn->signal_popup_menu().connect(sigc::mem_fun(*this, &SpinButtonToolItem::on_popup_menu), false); // Handle button events auto btn_focus_in_event_cb = sigc::mem_fun(*this, &SpinButtonToolItem::on_btn_focus_in_event); @@ -412,7 +412,16 @@ SpinButtonToolItem::do_popup_menu(GdkEventButton *button_event) auto menu = create_numeric_menu(); menu->attach_to_widget(*_btn); menu->show_all(); - menu->popup(button_event->button, button_event->time); + + int button = 0; + int time = gtk_get_current_event_time(); + + if (button_event) { + button = button_event->button; + time = button_event->time; + } + + menu->popup(button, time); } /** @@ -421,8 +430,8 @@ SpinButtonToolItem::do_popup_menu(GdkEventButton *button_event) bool SpinButtonToolItem::on_popup_menu() { - g_message("POP!!"); - return false; + do_popup_menu(nullptr); + return true; } /** |
