All pastes #761077 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-11-04 16:26 UTC
rendered paste body
Index: ../opensync/engine/opensync_obj_engine.c
===================================================================
--- ../opensync/engine/opensync_obj_engine.c    (revision 2731)
+++ ../opensync/engine/opensync_obj_engine.c    (working copy)
@@ -1244,7 +1244,7 @@
                OSyncObjTypeSink *objtype_sink = osync_member_find_objtype_sink(member, engine->objtype);
 
                /* If the sink engine isn't able/allowed to write we don't care if everything got written ("how dirty is it!?") */ 
-               if (!osync_objtype_sink_get_write(objtype_sink)) 
+               if (!objtype_sink || !osync_objtype_sink_get_write(objtype_sink)) 
                        break;
 
                for (e = sinkengine->entries; e; e = e->next) {
@@ -1731,7 +1731,7 @@
                                OSyncObjTypeSink *objtype_sink = osync_member_find_objtype_sink(member, engine->objtype);
 
                                /* Is there at least one other writeable sink? */
-                               if (osync_objtype_sink_get_write(objtype_sink) && write_sinks) {
+                               if (objtype_sink && osync_objtype_sink_get_write(objtype_sink) && write_sinks) {
                                        _obj_engine_read_callback(sinkengine->proxy, sinkengine, *error);
                                        osync_trace(TRACE_INTERNAL, "no other writable sinks .... SKIP");
                                        continue;
@@ -1813,7 +1813,7 @@
 
 
                                        /* Only commit change if the objtype sink is able/allowed to write. */
-                                       if (osync_objtype_sink_get_write(objtype_sink) && osync_entry_engine_is_dirty(entry_engine)) {
+                                       if (objtype_sink && osync_objtype_sink_get_write(objtype_sink) && osync_entry_engine_is_dirty(entry_engine)) {
                                                osync_assert(entry_engine->change);
                                                OSyncChange *change = entry_engine->change;