From: Wim Taymans Date: Thu, 19 Jul 2012 11:20:27 +0000 (+0200) Subject: miniobject: refuse write when object is shared X-Git-Tag: RELEASE-0.11.93~62 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fd23640001495bfb8529466a14c930211cc1809a;p=platform%2Fupstream%2Fgstreamer.git miniobject: refuse write when object is shared In all cases, refuse to write an object when it is shared by more than one object (also when the object was locked before). See https://bugzilla.gnome.org/show_bug.cgi?id=679145 --- diff --git a/gst/gstminiobject.c b/gst/gstminiobject.c index be319b1..a4c42b1 100644 --- a/gst/gstminiobject.c +++ b/gst/gstminiobject.c @@ -190,10 +190,11 @@ gst_mini_object_lock (GstMiniObject * object, GstLockFlags flags) } if (access_mode) { + /* shared counter > 1 and write access is not allowed */ + if (state > SHARE_ONE && access_mode & GST_LOCK_FLAG_WRITE) + goto lock_failed; + if ((state & LOCK_FLAG_MASK) == 0) { - /* shared counter > 1 and write access */ - if (state > SHARE_ONE && access_mode & GST_LOCK_FLAG_WRITE) - goto lock_failed; /* nothing mapped, set access_mode */ newstate |= access_mode; } else {