[clutter/msvc-support-master: 8/10] Revert "Deprecate clutter_threads_init()"
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter/msvc-support-master: 8/10] Revert "Deprecate clutter_threads_init()"
- Date: Thu, 20 Oct 2011 07:25:18 +0000 (UTC)
commit 5419c11c99f721f2f9bf520c0444c053a88b3725
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Thu Oct 20 15:17:25 2011 +0800
Revert "Deprecate clutter_threads_init()"
This reverts commit 7e3a75c66bbca1e278b15c797cfc6acbcbd6c7c7.
Conflicts:
clutter/clutter-main.c
clutter/clutter-main.h
clutter/clutter-main.c | 31 ++++++++++++++++++++++------
clutter/clutter-main.h | 4 ---
tests/interactive/test-texture-async.c | 4 +-
tests/interactive/test-texture-material.c | 2 +
tests/interactive/test-threads.c | 2 +
5 files changed, 30 insertions(+), 13 deletions(-)
---
diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c
index 7d4d815..1e1efb3 100644
--- a/clutter/clutter-main.c
+++ b/clutter/clutter-main.c
@@ -34,7 +34,7 @@
* <para>Clutter is <emphasis>thread-aware</emphasis>: all operations
* performed by Clutter are assumed to be under the big Clutter lock,
* which is created when the threading is initialized through
- * clutter_init().</para>
+ * clutter_threads_init().</para>
* <example id="example-Thread-Init">
* <title>Thread Initialization</title>
* <para>The code below shows how to correctly initialize Clutter
@@ -44,6 +44,12 @@
* int
* main (int argc, char *argv[])
* {
+ * /* initialize GLib's threading support */
+ * g_thread_init (NULL);
+ *
+ * /* initialize Clutter's threading support */
+ * clutter_threads_init ();
+ *
* /* initialize Clutter */
* clutter_init (&argc, &argv);
*
@@ -910,6 +916,18 @@ clutter_main (void)
CLUTTER_TIMER_STOP (uprof_get_mainloop_context (), mainloop_timer);
}
+static void
+clutter_threads_impl_lock (void)
+{
+ g_mutex_lock (&clutter_threads_mutex);
+}
+
+static void
+clutter_threads_impl_unlock (void)
+{
+ g_mutex_unlock (&clutter_threads_mutex);
+}
+
/**
* clutter_threads_init:
*
@@ -924,13 +942,15 @@ clutter_main (void)
* It is safe to call this function multiple times.
*
* Since: 0.4
- *
- * Deprecated: 1.10: This function does not do anything. Threading support
- * is initialized when Clutter is initialized.
*/
void
clutter_threads_init (void)
{
+ if (clutter_threads_lock == NULL)
+ clutter_threads_lock = clutter_threads_impl_lock;
+
+ if (clutter_threads_unlock == NULL)
+ clutter_threads_unlock = clutter_threads_impl_unlock;
}
/**
@@ -2584,9 +2604,6 @@ clutter_base_init (void)
/* initialise GLib type system */
g_type_init ();
-
- /* initialise the Big Clutter Lockâ if necessary */
- clutter_threads_init_default ();
}
}
diff --git a/clutter/clutter-main.h b/clutter/clutter-main.h
index a50405a..3d9da17 100644
--- a/clutter/clutter-main.h
+++ b/clutter/clutter-main.h
@@ -110,11 +110,7 @@ gulong clutter_get_timestamp (void);
gboolean clutter_get_accessibility_enabled (void);
/* Threading functions */
-#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION)
-CLUTTER_DEPRECATED
void clutter_threads_init (void);
-#endif
-
void clutter_threads_enter (void);
void clutter_threads_leave (void);
void clutter_threads_set_lock_functions (GCallback enter_fn,
diff --git a/tests/interactive/test-texture-async.c b/tests/interactive/test-texture-async.c
index 20d802b..7e09f36 100644
--- a/tests/interactive/test-texture-async.c
+++ b/tests/interactive/test-texture-async.c
@@ -120,6 +120,8 @@ test_texture_async_main (int argc, char *argv[])
{
gchar *path;
+ clutter_threads_init ();
+
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
return 1;
@@ -138,9 +140,7 @@ test_texture_async_main (int argc, char *argv[])
task, path,
cleanup_task);
- clutter_threads_enter ();
clutter_main ();
- clutter_threads_leave ();
g_free (path);
diff --git a/tests/interactive/test-texture-material.c b/tests/interactive/test-texture-material.c
index 4886ce0..867711f 100644
--- a/tests/interactive/test-texture-material.c
+++ b/tests/interactive/test-texture-material.c
@@ -10,6 +10,8 @@ test_texture_material_main (int argc, char *argv[])
ClutterLayoutManager *manager;
int i;
+ g_thread_init (NULL);
+ clutter_threads_init ();
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
return 1;
diff --git a/tests/interactive/test-threads.c b/tests/interactive/test-threads.c
index 01ca8a7..5bfab84 100644
--- a/tests/interactive/test-threads.c
+++ b/tests/interactive/test-threads.c
@@ -209,6 +209,8 @@ test_threads_main (int argc, char *argv[])
{ 400, 150 }
};
+ g_thread_init (NULL);
+ clutter_threads_init ();
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
return 1;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]