On Friday 21 April 2006 12:54 pm, Jacob M. Burbach wrote: > On Friday 21 April 2006 7:26, Phil Thompson wrote: > > On Friday 21 April 2006 12:02 pm, Jacob M. Burbach wrote: > > > On Thursday 20 April 2006 6:15, Phil Thompson wrote: > > > > On Tuesday 18 April 2006 5:14 am, Jacob M. Burbach wrote: > > > > > I'm wrapping some classes and find that Sip will not wrap static > > > > > const members that are defined as a MappedType. Standard types, > > > > > wrapped types, and non const members are wrapped ok, just not const > > > > > mapped types. This seems like a bug in sip? > > > > > > > > Yes - should be fixed in tonight's snapshot (although not heavily > > > > tested). > > > > > > > > Phil > > > > > > Thats seems to do the trick, but introduced another bug(a typo really I > > > think). In sipgen/gencode.c, function `generateInternalAPIHeader', > > > there is not enough `mname' entries to fill out the format string(needs > > > one more). > > > > Yes - thanks. > > > > > One other question about ownership, and how it gets transferred in > > > regards to methods that throw. Basically, If I have method: > > > > > > void someMethod(Something* s /Transfer/) throw(Whatever); > > > > > > what happens to the ownership if the method throws? Is it still > > > transferred? Do I need to put handwritten code to catch and transfer > > > back? > > > > I'm afraid so, but it's a bit of a can of worms. You need to transfer > > ownership back to the previous owner - but you don't know who that was. > > > > Phil > > Hmm, I guess I should just leave out the `/Transfer/' and put hand written > code that only takes ownership if the call succeeds then?
That depends on your library. SIP doesn't have the ability to conditionally transfer ownership - for example based on the return value or whether an exception was thrown or not (or which exception was thrown). Perhaps it should have, but not any time soon. Phil _______________________________________________ PyKDE mailing list [email protected] http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
