|
From: | Piotr Held |
Subject: | [Octave-bug-tracker] [bug #52111] meta.class.* does not work after after 'clear classes' |
Date: | Wed, 27 Sep 2017 21:06:00 -0400 (EDT) |
User-agent: | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36 |
Follow-up Comment #1, bug #52111 (project octave): I found out a new bug and solved it with this patch (which I don't think there is a need to submit a separate bug, it's all quite intertwined). Octave will close when calling: meta.event # or meta.dynamicproperty which the latter isn't even Matlab compatible. The patch introduces two methods: # cdef_manager::install_meta_classes_in_symtab which is a way of avoiding code duplication. # cdef_manager::reinit which takes the classes and packages created in cdef_manager::initialize() and reloads them. I could call cdef_manager::initialize again but that increases memory leak from Bug #52123 <https://savannah.gnu.org/bugs/?52123>. I removed tmp_meta* cdef objects from cdef_manager::intialize since they did not really serve any purpose and only cluttered the code. I also removed references to events and dynproperties as they are not implemented and only cause confusion/octave termination. I also added some documentation to cdef_manager (in ov-classdef.h) (file #41907) _______________________________________________________ Additional Item Attachment: File name: meta_class_clear_all_patch.diff Size:21 KB _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?52111> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/
[Prev in Thread] | Current Thread | [Next in Thread] |