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>
|
2008-07-30 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
* gtk/gtkprintoperation-win32.c: Fix problems in handling custom
|
* 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 *
|
G_CONST_RETURN char *
|
||||||
gdk_get_program_class (void)
|
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_lock;
|
||||||
GDKVAR GCallback gdk_threads_unlock;
|
GDKVAR GCallback gdk_threads_unlock;
|
||||||
|
|
||||||
void gdk_threads_enter (void);
|
void gdk_threads_enter (void);
|
||||||
void gdk_threads_leave (void);
|
void gdk_threads_leave (void);
|
||||||
void gdk_threads_init (void);
|
void gdk_threads_init (void);
|
||||||
void gdk_threads_set_lock_functions (GCallback enter_fn,
|
void gdk_threads_set_lock_functions (GCallback enter_fn,
|
||||||
GCallback leave_fn);
|
GCallback leave_fn);
|
||||||
|
|
||||||
guint gdk_threads_add_idle_full (gint priority,
|
guint gdk_threads_add_idle_full (gint priority,
|
||||||
GSourceFunc function,
|
GSourceFunc function,
|
||||||
gpointer data,
|
gpointer data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
guint gdk_threads_add_idle (GSourceFunc function,
|
guint gdk_threads_add_idle (GSourceFunc function,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
guint gdk_threads_add_timeout_full (gint priority,
|
guint gdk_threads_add_timeout_full (gint priority,
|
||||||
guint interval,
|
guint interval,
|
||||||
GSourceFunc function,
|
GSourceFunc function,
|
||||||
gpointer data,
|
gpointer data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
guint gdk_threads_add_timeout (guint interval,
|
guint gdk_threads_add_timeout (guint interval,
|
||||||
GSourceFunc function,
|
GSourceFunc function,
|
||||||
gpointer data);
|
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
|
#ifdef G_THREADS_ENABLED
|
||||||
# define GDK_THREADS_ENTER() G_STMT_START { \
|
# define GDK_THREADS_ENTER() G_STMT_START { \
|
||||||
|
Loading…
Reference in New Issue
Block a user