Skip to content

Commit

Permalink
fix selection display in selection clarification menu on win32
Browse files Browse the repository at this point in the history
  • Loading branch information
carrotIndustries committed Apr 25, 2020
1 parent e464ec4 commit db61b45
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 2 deletions.
6 changes: 6 additions & 0 deletions src/canvas/drag_selection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,9 @@ void DragSelection::drag_end(GdkEventButton *button_event)
else {
ca->set_selection({sr}, false);
}
#ifdef G_OS_WIN32 // work around a bug(?) in intel(?) GPU drivers on windows
Glib::signal_idle().connect_once([this] { ca->queue_draw(); });
#endif
});
la->signal_deselect().connect([this, selection, toggle] {
if (toggle) {
Expand All @@ -345,6 +348,9 @@ void DragSelection::drag_end(GdkEventButton *button_event)
else {
ca->set_selection({}, false);
}
#ifdef G_OS_WIN32 // work around a bug(?) in intel(?) GPU drivers on windows
Glib::signal_idle().connect_once([this] { ca->queue_draw(); });
#endif
});
la->signal_activate().connect([this, sr, selection, toggle] {
auto sel = selection;
Expand Down
17 changes: 15 additions & 2 deletions src/imp/imp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1588,8 +1588,21 @@ bool ImpBase::handle_click(GdkEventButton *button_event)
text += " (" + layers.at(sr.layer).name + ")";
}
auto la = Gtk::manage(new Gtk::MenuItem(text));
la->signal_select().connect([this, sr] { canvas->set_selection({sr}, false); });
la->signal_deselect().connect([this] { canvas->set_selection({}, false); });

la->signal_select().connect([this, sr] {
canvas->set_selection({sr}, false);
#ifdef G_OS_WIN32 // work around a bug(?) in intel(?) GPU drivers on windows
Glib::signal_idle().connect_once([this] { canvas->queue_draw(); });
#endif
});

la->signal_deselect().connect([this] {
canvas->set_selection({}, false);
#ifdef G_OS_WIN32 // work around a bug(?) in intel(?) GPU drivers on windows
Glib::signal_idle().connect_once([this] { canvas->queue_draw(); });
#endif
});

auto submenu = Gtk::manage(new Gtk::Menu);

create_context_menu(submenu, {sr});
Expand Down

0 comments on commit db61b45

Please sign in to comment.