~ubuntu-branches/ubuntu/raring/codeblocks/raring-proposed

« back to all changes in this revision

Viewing changes to src/sdk/scripting/squirrel/sqclass.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Cosme Domínguez Díaz
  • Date: 2010-08-09 04:38:38 UTC
  • mfrom: (1.1.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20100809043838-a59ygguym4eg0jgw
Tags: 10.05-0ubuntu1
* New upstream release. Closes (LP: #322350)
 - Switch to dpkg-source 3.0 (quilt) format
 - Remove unneeded README.source
 - Add debian/get-source-orig script that removes all
   Windows prebuilt binaries
* Bump Standards-Version to 3.9.1
 - Stop shipping *.la files
* debian/control
 - Add cdbs package as Build-Depend
 - Add libbz2-dev and zlib1g-dev packages as
   Build-Depends (needed by libhelp_plugin.so)
 - Remove dpatch package of Build-Depends
 - Add codeblocks-contrib-debug package
 - Split architecture-independent files of codeblocks
   package in codeblocks-common package
* debian/rules
 - Switch to CDBS rules system
 - Add parallel build support
 - Add a call to debian/get-source-orig script
 - Use lzma compression (saves 23,5 MB of free space)
* debian/patches
 - Refresh 01_codeblocks_plugin_path
 - Add 02_no_Makefiles_in_debian_dir to remove any link
   in codeblocks build system to deleted Makefiles of debian directory
 - Drop 02_ftbfs_gcc44 and 03_ftbfs_glib221 (merged in upstream)
* debian/watch
 - Update to use the new host (berlios.de)

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
        _base = base;
13
13
        _typetag = 0;
14
14
        _hook = NULL;
 
15
        _udsize = 0;
15
16
        _metamethods.resize(MT_LAST); //size it to max size
16
17
        if(_base) {
17
18
                _defaultvalues.copy(base->_defaultvalues);
61
62
                } 
62
63
                else {
63
64
                        if(type(temp) == OT_NULL) {
64
 
                                SQClassMemeber m;
 
65
                                SQClassMember m;
65
66
                                m.val = val;
66
67
                                _members->NewSlot(key,SQObjectPtr(_make_method_idx(_methods.size())));
67
68
                                _methods.push_back(m);
72
73
                }
73
74
                return true;
74
75
        }
75
 
        SQClassMemeber m;
 
76
        SQClassMember m;
76
77
        m.val = val;
77
78
        _members->NewSlot(key,SQObjectPtr(_make_field_idx(_defaultvalues.size())));
78
79
        _defaultvalues.push_back(m);
139
140
{
140
141
        _memsize = memsize;
141
142
        _class = c;
142
 
        _nvalues = _class->_defaultvalues.size();
143
 
        for(SQUnsignedInteger n = 0; n < _nvalues; n++) {
 
143
        SQUnsignedInteger nvalues = _class->_defaultvalues.size();
 
144
        for(SQUnsignedInteger n = 0; n < nvalues; n++) {
144
145
                new (&_values[n]) SQObjectPtr(_class->_defaultvalues[n].val);
145
146
        }
146
147
        Init(ss);
150
151
{
151
152
        _memsize = memsize;
152
153
        _class = i->_class;
153
 
        _nvalues = _class->_defaultvalues.size();
154
 
        for(SQUnsignedInteger n = 0; n < _nvalues; n++) {
 
154
        SQUnsignedInteger nvalues = _class->_defaultvalues.size();
 
155
        for(SQUnsignedInteger n = 0; n < nvalues; n++) {
155
156
                new (&_values[n]) SQObjectPtr(i->_values[n]);
156
157
        }
157
158
        Init(ss);
159
160
 
160
161
void SQInstance::Finalize() 
161
162
{
 
163
        SQUnsignedInteger nvalues = _class->_defaultvalues.size();
162
164
        __ObjRelease(_class);
163
 
        for(SQUnsignedInteger i = 0; i < _nvalues; i++) {
 
165
        for(SQUnsignedInteger i = 0; i < nvalues; i++) {
164
166
                _values[i] = _null_;
165
167
        }
166
168
}
168
170
SQInstance::~SQInstance()
169
171
{
170
172
        REMOVE_FROM_CHAIN(&_sharedstate->_gc_chain, this);
171
 
        Finalize();
 
173
        if(_class){ Finalize(); } //if _class is null it was already finalized by the GC
172
174
}
173
175
 
174
176
bool SQInstance::GetMetaMethod(SQVM *v,SQMetaMethod mm,SQObjectPtr &res)