Hi Mindaugas, > 2) I'm a little confused how to implement GC pointers. So, I've implemented > two version in hbcairo/core.c. It can be selected [not]using HB_USE_ITEM > define. In current code the switch is not defined and more "low level" > version is used (actually, I even forgot to test using HB_USE_ITEM). Are > these GC pointer implementations correct? A few subquestions are: > > 2a) hb_gcRefInc()/hb_gcRefDec() is required without HB_USE_ITEM. This > requires define _HB_API_INTERNAL_. Is this OK?
I think it's not very good to use internal API in non-core code. It gives wrong ideas for 3rd party developers and it also needs extra attention when modifying core code and dealing with compatibility. I'm note sure about the actual problem this is required for, but IMO this should be solved using documented and public APIs. If there is some sort of special case with cairo, that cannot be solved with current public API, we should think about how to change the public API to make a proper solution possible. I hope Przemek add his comments on this. Bgrds, Viktor _______________________________________________ Harbour mailing list (attachment size limit: 40KB) [email protected] http://lists.harbour-project.org/mailman/listinfo/harbour
