g_signal_emit(il, signals[SIGNAL_AREA_READY], 0, x, y, w, h);
- return FALSE;
+ return G_SOURCE_REMOVE;
}
static gboolean image_loader_emit_done_cb(gpointer data)
{
ImageLoader *il = static_cast<ImageLoader *>(data);
g_signal_emit(il, signals[SIGNAL_DONE], 0);
- return FALSE;
+ return G_SOURCE_REMOVE;
}
static gboolean image_loader_emit_error_cb(gpointer data)
{
ImageLoader *il = static_cast<ImageLoader *>(data);
g_signal_emit(il, signals[SIGNAL_ERROR], 0);
- return FALSE;
+ return G_SOURCE_REMOVE;
}
static gboolean image_loader_emit_percent_cb(gpointer data)
{
ImageLoader *il = static_cast<ImageLoader *>(data);
g_signal_emit(il, signals[SIGNAL_PERCENT], 0, image_loader_get_percent(il));
- return FALSE;
+ return G_SOURCE_REMOVE;
}
static gboolean image_loader_emit_size_cb(gpointer data)
height = il->actual_height;
g_mutex_unlock(il->data_mutex);
g_signal_emit(il, signals[SIGNAL_SIZE], 0, width, height);
- return FALSE;
+ return G_SOURCE_REMOVE;
}
gint b;
gint c;
- if (!il) return FALSE;
+ if (!il) return G_SOURCE_REMOVE;
c = il->idle_read_loop_count ? il->idle_read_loop_count : 1;
while (c > 0 && !image_loader_get_stopping(il))
if (b == 0)
{
image_loader_done(il);
- return FALSE;
+ return G_SOURCE_REMOVE;
}
if (b < 0 || (b > 0 && !il->backend.write(il->loader, il->mapped_file + il->bytes_read, b, &il->error)))
{
image_loader_error(il);
- return FALSE;
+ return G_SOURCE_REMOVE;
}
il->bytes_read += b;
image_loader_emit_percent(il);
}
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
static gboolean image_loader_begin(ImageLoader *il)
/**************************************************************************************/
/* execution via idle calls */
-//static gboolean image_loader_idle_cb(gpointer data)
-//{
- //gboolean ret = FALSE;
- //ImageLoader *il = static_cast<ImageLoader *>(data);
-
- //if (il->idle_id)
- //{
- //ret = image_loader_continue(il);
- //}
+static gboolean image_loader_idle_cb(gpointer data)
+{
+ gboolean ret = G_SOURCE_REMOVE;
+ ImageLoader *il = static_cast<ImageLoader *>(data);
- //if (!ret)
- //{
- //image_loader_stop_source(il);
- //}
+ if (il->idle_id)
+ {
+ ret = image_loader_continue(il);
+ }
- //return ret;
-//}
+ if (!ret)
+ {
+ image_loader_stop_source(il);
+ }
+ return ret;
+}
-//static gboolean image_loader_start_idle(ImageLoader *il)
-//{
- //gboolean ret;
+static gboolean image_loader_start_idle(ImageLoader *il)
+{
+ gboolean ret;
- //if (!il) return FALSE;
+ if (!il) return FALSE;
- //if (!il->fd) return FALSE;
+ if (!il->fd) return FALSE;
- //if (!image_loader_setup_source(il)) return FALSE;
+ if (!image_loader_setup_source(il)) return FALSE;
- //ret = image_loader_begin(il);
+ ret = image_loader_begin(il);
- //if (ret && !il->done) il->idle_id = g_idle_add_full(il->idle_priority, image_loader_idle_cb, il, NULL);
- //return ret;
-//}
+ if (ret && !il->done) il->idle_id = g_idle_add_full(il->idle_priority, image_loader_idle_cb, il, NULL);
+ return ret;
+}
/**************************************************************************************/
/* execution via thread */