All pastes #761098 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-04 16:39 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;