forked from AuroraMiddleware/gtk
Add gdk_threads_add_timeout_seconds{_full}
svn path=/trunk/; revision=20919
This commit is contained in:
parent
6bb1baff76
commit
75651f652e
@ -1,3 +1,9 @@
|
||||
2008-07-31 Matthisa Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk/gdk.[hc]:
|
||||
* gdk/gdk.symbols: Complete the set of thread-safe timeout function
|
||||
with second-granularity versions. Patch by Marek Kasik.
|
||||
|
||||
2008-07-30 Tor Lillqvist <tml@novell.com>
|
||||
|
||||
* gtk/gtkprintoperation-win32.c: Fix problems in handling custom
|
||||
|
65
gdk/gdk.c
65
gdk/gdk.c
@ -691,6 +691,71 @@ gdk_threads_add_timeout (guint interval,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* gdk_threads_add_timeout_seconds_full:
|
||||
* @priority: the priority of the timeout source. Typically this will be in the
|
||||
* range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
|
||||
* @interval: the time between calls to the function, in seconds
|
||||
* @function: function to call
|
||||
* @data: data to pass to @function
|
||||
* @notify: function to call when the timeout is removed, or %NULL
|
||||
*
|
||||
* A variant of gdk_threads_add_timout_full() with second-granularity.
|
||||
* See g_timeout_add_seconds_full() for a discussion of why it is
|
||||
* a good idea to use this function if you don't need finer granularity.
|
||||
*
|
||||
* Return value: the ID (greater than 0) of the event source.
|
||||
*
|
||||
* Since: 2.14
|
||||
*/
|
||||
guint
|
||||
gdk_threads_add_timeout_seconds_full (gint priority,
|
||||
guint interval,
|
||||
GSourceFunc function,
|
||||
gpointer data,
|
||||
GDestroyNotify notify)
|
||||
{
|
||||
GdkThreadsDispatch *dispatch;
|
||||
|
||||
g_return_val_if_fail (function != NULL, 0);
|
||||
|
||||
dispatch = g_slice_new (GdkThreadsDispatch);
|
||||
dispatch->func = function;
|
||||
dispatch->data = data;
|
||||
dispatch->destroy = notify;
|
||||
|
||||
return g_timeout_add_seconds_full (priority,
|
||||
interval,
|
||||
gdk_threads_dispatch,
|
||||
dispatch,
|
||||
gdk_threads_dispatch_free);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_threads_add_timeout_seconds:
|
||||
* @interval: the time between calls to the function, in seconds
|
||||
* @function: function to call
|
||||
* @data: data to pass to @function
|
||||
*
|
||||
* A wrapper for the common usage of gdk_threads_add_timeout_seconds_full()
|
||||
* assigning the default priority, #G_PRIORITY_DEFAULT.
|
||||
*
|
||||
* For details, see gdk_threads_add_timeout_full().
|
||||
*
|
||||
* Return value: the ID (greater than 0) of the event source.
|
||||
*
|
||||
* Since: 2.14
|
||||
*/
|
||||
guint
|
||||
gdk_threads_add_timeout_seconds (guint interval,
|
||||
GSourceFunc function,
|
||||
gpointer data)
|
||||
{
|
||||
return gdk_threads_add_timeout_seconds_full (G_PRIORITY_DEFAULT,
|
||||
interval, function, data, NULL);
|
||||
}
|
||||
|
||||
|
||||
G_CONST_RETURN char *
|
||||
gdk_get_program_class (void)
|
||||
{
|
||||
|
46
gdk/gdk.h
46
gdk/gdk.h
@ -195,26 +195,34 @@ GDKVAR GMutex *gdk_threads_mutex; /* private */
|
||||
GDKVAR GCallback gdk_threads_lock;
|
||||
GDKVAR GCallback gdk_threads_unlock;
|
||||
|
||||
void gdk_threads_enter (void);
|
||||
void gdk_threads_leave (void);
|
||||
void gdk_threads_init (void);
|
||||
void gdk_threads_set_lock_functions (GCallback enter_fn,
|
||||
GCallback leave_fn);
|
||||
void gdk_threads_enter (void);
|
||||
void gdk_threads_leave (void);
|
||||
void gdk_threads_init (void);
|
||||
void gdk_threads_set_lock_functions (GCallback enter_fn,
|
||||
GCallback leave_fn);
|
||||
|
||||
guint gdk_threads_add_idle_full (gint priority,
|
||||
GSourceFunc function,
|
||||
gpointer data,
|
||||
GDestroyNotify notify);
|
||||
guint gdk_threads_add_idle (GSourceFunc function,
|
||||
gpointer data);
|
||||
guint gdk_threads_add_timeout_full (gint priority,
|
||||
guint interval,
|
||||
GSourceFunc function,
|
||||
gpointer data,
|
||||
GDestroyNotify notify);
|
||||
guint gdk_threads_add_timeout (guint interval,
|
||||
GSourceFunc function,
|
||||
gpointer data);
|
||||
guint gdk_threads_add_idle_full (gint priority,
|
||||
GSourceFunc function,
|
||||
gpointer data,
|
||||
GDestroyNotify notify);
|
||||
guint gdk_threads_add_idle (GSourceFunc function,
|
||||
gpointer data);
|
||||
guint gdk_threads_add_timeout_full (gint priority,
|
||||
guint interval,
|
||||
GSourceFunc function,
|
||||
gpointer data,
|
||||
GDestroyNotify notify);
|
||||
guint gdk_threads_add_timeout (guint interval,
|
||||
GSourceFunc function,
|
||||
gpointer data);
|
||||
guint gdk_threads_add_timeout_seconds_full (gint priority,
|
||||
guint interval,
|
||||
GSourceFunc function,
|
||||
gpointer data,
|
||||
GDestroyNotify notify);
|
||||
guint gdk_threads_add_timeout_seconds (guint interval,
|
||||
GSourceFunc function,
|
||||
gpointer data);
|
||||
|
||||
#ifdef G_THREADS_ENABLED
|
||||
# define GDK_THREADS_ENTER() G_STMT_START { \
|
||||
|
Loading…
Reference in New Issue
Block a user