diff edtlobj.cpp @ 401:2fdf440ea66a

Fix some segfaults, etc.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 19 Oct 2012 16:28:06 +0300
parents 9993873ff655
children d34922e6a244
line wrap: on
line diff
--- a/edtlobj.cpp	Fri Oct 19 15:56:59 2012 +0300
+++ b/edtlobj.cpp	Fri Oct 19 16:28:06 2012 +0300
@@ -9,13 +9,13 @@
 TimelineObject::TimelineObject()
 {
     dmTimelineNew(&tl, "Demo");
-    changed = 0;
+    scrub();
 }
 
 
 TimelineObject::TimelineObject(TimelineObject *obj)
 {
-    changed = 0;
+    scrub();
     filename = obj->filename;
     dmCopyTimeline(obj->tl, &tl);
 }
@@ -36,7 +36,8 @@
 
     dmFreeTimeline(tl);
     int err = dmLoadTimeline(res, &tl);
-    changed = 0;
+
+    scrub();
 
     dmf_close(res);
     filename = mfilename;
@@ -52,8 +53,38 @@
         return DMERR_FOPEN;
 
     int err = dmSaveTimeline(res, tl);
-    changed = 0;
+    scrub();
 
     dmf_close(res);
     return err;
 }
+
+
+void TimelineObject::touch()
+{
+    ntouches++;
+}
+
+
+void TimelineObject::scrub()
+{
+    ntouches = 0;
+}
+
+
+bool TimelineObject::touched()
+{
+    return ntouches;
+}
+
+
+void TimelineObject::setState(const QString &mstate)
+{
+    cstate = mstate;
+}
+
+
+QString TimelineObject::state() const
+{
+    return cstate;
+}