Changeset 47

Show
Ignore:
Timestamp:
11/25/06 19:22:34 (2 years ago)
Author:
KirkMcDonald
Message:

Tiny op_wrap fix

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/infrastructure/pyd/op_wrap.d

    r45 r47  
    122122    alias wrapped_class_object!(T) wrap_object; 
    123123    alias ParameterTypeTuple!(opfn) Info; 
     124    alias ReturnType!(opfn) Ret; 
    124125    extern(C) 
    125126    PyObject* func(PyObject* self, PyObject* o) { 
     
    128129            pragma(msg, prettytypeof!(typeof(dg))); 
    129130            pragma(msg, symbolnameof!(opfn)); 
    130             return _py( 
    131                 dg( 
    132                     d_type!(Info[0])(o) 
    133                 ) 
    134             ); 
     131            static if (is(Ret == void)) { 
     132                dg(d_type!(Info[0])(o)); 
     133                Py_INCREF(Py_None); 
     134                return Py_None; 
     135            } else { 
     136                return _py( 
     137                    dg( 
     138                        d_type!(Info[0])(o) 
     139                    ) 
     140                ); 
     141            } 
    135142        }); 
    136143    }