changeset 19779:99ef3e58214e

Run children listeners after any adoption/deletion (bug #44242) * graphics.in.h (base_properties::adopt, base_properties::remove_child): call children.run_listener() after each individual children adoption/deletion.
author Pantxo Diribarne <pantxo.diribarne@gmail.com>
date Tue, 17 Feb 2015 19:18:12 +0100
parents 1687269e31e4
children 97690ea6f57a
files libinterp/corefcn/graphics.in.h
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/graphics.in.h	Wed Feb 18 00:10:22 2015 -0500
+++ b/libinterp/corefcn/graphics.in.h	Tue Feb 17 19:18:12 2015 +0100
@@ -2530,12 +2530,16 @@
   virtual void remove_child (const graphics_handle& h)
   {
     if (children.remove_child (h.value ()))
-      mark_modified ();
+      {
+        children.run_listeners ();
+        mark_modified ();
+      }
   }
 
   virtual void adopt (const graphics_handle& h)
   {
     children.adopt (h.value ());
+    children.run_listeners ();
     mark_modified ();
   }