File tree Expand file tree Collapse file tree 1 file changed +14
-3
lines changed
Expand file tree Collapse file tree 1 file changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -214,13 +214,24 @@ def configure_inline_support(backend)
214214 # Temporally monky-patching IRuby kernel to enable flushing and closing figures.
215215 # TODO: Make this feature a pull-request for sciruby/iruby.
216216 kernel = ::IRuby ::Kernel . instance
217- kernel . extend HookExtension
217+ kernel . extend HookExtension unless kernel . respond_to? ( :events )
218218 if backend == GUI_BACKEND_MAP [ :inline ]
219- kernel . register_event ( :post_execute , method ( :flush_figures ) )
219+ if kernel . respond_to? ( :register_event )
220+ kernel . register_event ( :post_execute , method ( :flush_figures ) )
221+ else
222+ @post_execute_func = kernel . events . register ( :post_execute , &method ( :flush_figures ) )
223+ end
224+
220225 # TODO: save original rcParams and overwrite rcParams with IRuby-specific configuration
221226 new_backend_name = :inline
222227 else
223- kernel . unregister_event ( :post_execute , method ( :flush_figures ) )
228+ if kernel . respond_to? ( :unregister_event )
229+ kernel . unregister_event ( :post_execute , method ( :flush_figures ) )
230+ elsif @post_execute_func
231+ kernel . events . unregister ( :post_execute , @post_execute_func )
232+ @post_execute_func = nil
233+ end
234+
224235 # TODO: restore saved original rcParams
225236 new_backend_name = :not_inline
226237 end
You can’t perform that action at this time.
0 commit comments