Re: Wrapping variable argument functions
- From: José Alburquerque <jaalburquerque cox net>
- To: Murray Cumming <murrayc murrayc com>
- Cc: gtkmm-list <gtkmm-list gnome org>
- Subject: Re: Wrapping variable argument functions
- Date: Thu, 07 Feb 2008 15:24:42 -0500
Murray Cumming wrote:
On Thu, 2008-02-07 at 21:09 +0100, Murray Cumming wrote:
On Thu, 2008-02-07 at 13:14 -0500, José Alburquerque wrote:
Okay. Here's the patch. To produce the problem simply run
tests/test-caps. The way it's in svn now, test/test-caps works fine,
but with this patch I get warnings.
Now I understand. It's this strange thing in gstreamer that stops you
from changing items that have been referenced:
(lt-test-caps:19844): GStreamer-CRITICAL **: gst_structure_set_value:
assertion `IS_MUTABLE (structure)' failed
I really don't know what to do about them yet. It's an abuse of the
reference-counting system.
I guess we need some way to return a RefPtr without referencing the C
object, that would stop the original RefPtr from unreferencing its C
object. But I can't imagine how to do that without adding a bool member
variable to RefPtr.
You know, I was sort of thinking that if in the Gst::Caps::set_simple()
method an unreference is done at the beginning (if refcount > 1) and
then a reference back at the end, this might work.
-Jose
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]