diff libgui/graphics/Canvas.cc @ 20560:3aea4200da40

maint: Periodic merger of stable to default.
author Rik <rik@octave.org>
date Mon, 28 Sep 2015 14:27:09 -0700
parents 79eb0746b21f 7d7c91ddc736
children dcfbf4c1c3c8
line wrap: on
line diff
--- a/libgui/graphics/Canvas.cc	Sun Sep 27 17:12:29 2015 +0200
+++ b/libgui/graphics/Canvas.cc	Mon Sep 28 14:27:09 2015 -0700
@@ -631,9 +631,20 @@
                                      "windowbuttondownfcn",
                                      button_number (event));
 
-          gh_manager::post_callback (currentObj.get_handle (),
-                                     "buttondownfcn",
-                                     button_number (event));
+          if (currentObj.get ("buttondownfcn").is_empty ())
+            {
+              graphics_object parentObj = 
+                gh_manager::get_object (currentObj.get_parent ());
+
+              if (parentObj.valid_object () && parentObj.isa ("hggroup"))
+                gh_manager::post_callback (parentObj.get_handle (),
+                                           "buttondownfcn",
+                                           button_number (event));
+            }
+          else
+            gh_manager::post_callback (currentObj.get_handle (),
+                                       "buttondownfcn",
+                                       button_number (event));
 
           if (event->button () == Qt::RightButton)
             ContextMenu::executeAt (currentObj.get_properties (),