File tree 1 file changed +14
-3
lines changed
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)
214
214
# Temporally monky-patching IRuby kernel to enable flushing and closing figures.
215
215
# TODO: Make this feature a pull-request for sciruby/iruby.
216
216
kernel = ::IRuby ::Kernel . instance
217
- kernel . extend HookExtension
217
+ kernel . extend HookExtension unless kernel . respond_to? ( :events )
218
218
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
+
220
225
# TODO: save original rcParams and overwrite rcParams with IRuby-specific configuration
221
226
new_backend_name = :inline
222
227
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
+
224
235
# TODO: restore saved original rcParams
225
236
new_backend_name = :not_inline
226
237
end
You can’t perform that action at this time.
0 commit comments