### Method

# GObject WeakRef get

since: 2.32

#### Declaration

    GObject*
    g_weak_ref_get (
      GWeakRef* weak_ref
    )

#### Description

If `weak_ref` is not empty, atomically acquire a strong reference to the object it points to, and return that reference.

This function is needed because of the potential race between taking the pointer value and `g_object_ref()` on it, if the object was losing its last reference at the same time in a different thread.

The caller should release the resulting reference in the usual way, by using g_object_unref().

Available since: 2.32

This method is not directly available to language bindings.

#### Return value

Type: `GObject`

The object pointed to by `weak_ref`, or `NULL` if it was empty.

The caller of the method takes ownership of the data, and is responsible for freeing it.