On 2019-03-01 17:28,
Kjell Ahlstedt wrote:
Alternatively, you can set Gdk::BUTTON1_MOTION_MASK and connect to signal_motion_notify_event(). Or set several mask bits and connect to several event signals. Anyway, you must set a mask bits that correspond to the event signals you connect to. 2019-03-01 14:26 GMT+01:00, Радомир Хаџић <radomirhadzic46 gmail com>:But do I not have get_window()->set_events(Gdk::EventMask::BUTTON1_PRESS_MASK); on line 21? 2019-03-01 11:03 GMT+01:00, Kjell Ahlstedt <kjellahlstedt gmail com>:get_window()->set_events(Gdk::EventMask::BUTTON_PRESS_MASK); or add_events(Gdk::EventMask::BUTTON_PRESS_MASK); If you want to receive button press events, then set the button press mask. If you want to receive button motion events, then set a button motion mask. It's usually better to use Gtk::Widget::add_events() instead of Gdk::Window::set_events() or Gtk::Widget::set_events(). If you don't want other handlers to receive the event, then it's correct to let draw_get_mouse() return true. On 2019-02-28 20:39, Радомир Хаџић wrote:I did what you said but it didn't work for me. I changed signal_button_press_event().connect(sigc::mem_fun(*this, &DrawingArea::draw_get_mouse)); to signal_button_press_event().connect(sigc::mem_fun(*this, &DrawingArea::draw_get_mouse), false); but nothing changed. I also tried changed return value of draw_get_mouse to false even though I don't want to propagate that signal to other handlers. I'm also sending modified code, which is also available here: https://pastebin.com/Dr3Av2vJ. |