gst/gstdata.c: whoops, return values were wrong, so writable data was marked as non...
authorBenjamin Otte <otte@gnome.org>
Sun, 20 Jun 2004 20:49:32 +0000 (20:49 +0000)
committerBenjamin Otte <otte@gnome.org>
Sun, 20 Jun 2004 20:49:32 +0000 (20:49 +0000)
Original commit message from CVS:
* gst/gstdata.c: (gst_data_is_writable):
whoops, return values were wrong, so writable data was marked as
non-writable and vice versa. (fixes #143953, spotted by Francis
Labonte)
Shows how rarely we need to copy data ;)

ChangeLog
gst/gstdata.c

index 803ec2198d7da46fc49e2a4cae10226428a97c50..7db042e47a0f8496c02afb78081c3ac9c57099e3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2004-06-20  Benjamin Otte  <otte@gnome.org>
+
+       * gst/gstdata.c: (gst_data_is_writable):
+         whoops, return values were wrong, so writable data was marked as
+         non-writable and vice versa. (fixes #143953, spotted by Francis
+         Labonte)
+         Shows how rarely we need to copy data ;)
+
 2004-06-20  Benjamin Otte  <otte@gnome.org>
 
        * testsuite/schedulers/.cvsignore:
index 359748b44bf5c2151bb0f2c604d799cb588234fe..29b1bd16110351ecc3650a4e52c5da1bf80afb96 100644 (file)
@@ -128,7 +128,9 @@ gst_data_is_writable (GstData * data)
 
   refcount = gst_atomic_int_read (&data->refcount);
 
-  if (refcount == 1 && !GST_DATA_FLAG_IS_SET (data, GST_DATA_READONLY))
+  if (refcount >= 1)
+    return FALSE;
+  if (GST_DATA_FLAG_IS_SET (data, GST_DATA_READONLY))
     return FALSE;
 
   return TRUE;