[Webkit-unassigned] [Bug 122996] New: [GStreamer][GTK] Add GRefPtr::outPtr()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Oct 17 14:40:39 PDT 2013


           Summary: [GStreamer][GTK] Add GRefPtr::outPtr()
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Platform
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: b.long at cablelabs.com

I keep getting requests in reviews to use GRefPtr in cases like this:

    GstObject* x;
    g_object_get(y, "some-property", &x, NULL);
    /* stuff */

The problem is that to use a GRefPtr, we'd need to do:

    GstObject* xRawPtr;
    g_object_get(y, "some-property", &xRawPtr, NULL);
    GRefPtr<GstObject> x = adoptGRef(xRawPtr);
    /* stuff */

Which is really awkward.

This patch adds this to GRefPtr:

    T*& outPtr()
        return m_ptr;

Which lets me do this:

    GRefPtr<GstObject> x;
    g_object_get(y, "some-property", &x.outPtr(), NULL);
    /* stuff */

Messing with outPtr() has the same effect as adoptGRef() (no extra ref). As far as I can tell, g_object_get and related functions always ref their out parameters, so I think this is reasonably safe.

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the webkit-unassigned mailing list