projects
/
projects
/
chimara
/
chimara.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use init and clear for GMutex and GCond
[projects/chimara/chimara.git]
/
libchimara
/
window.c
diff --git
a/libchimara/window.c
b/libchimara/window.c
index c9132939237d5548f9632ff85a903f0e70148088..bcdce5535bc96125133cb4b9e7fbe78b20b4bc87 100644
(file)
--- a/
libchimara/window.c
+++ b/
libchimara/window.c
@@
-691,10
+691,10
@@
glk_window_open(winid_t split, glui32 method, glui32 size, glui32 wintype,
}
/* Set the window as a child of the Glk widget, don't trigger an arrange event */
}
/* Set the window as a child of the Glk widget, don't trigger an arrange event */
- g_mutex_lock(glk_data->arrange_lock);
+ g_mutex_lock(
&
glk_data->arrange_lock);
glk_data->needs_rearrange = TRUE;
glk_data->ignore_next_arrange_event = TRUE;
glk_data->needs_rearrange = TRUE;
glk_data->ignore_next_arrange_event = TRUE;
- g_mutex_unlock(glk_data->arrange_lock);
+ g_mutex_unlock(
&
glk_data->arrange_lock);
gtk_widget_set_parent(win->frame, GTK_WIDGET(glk_data->self));
gtk_widget_queue_resize(GTK_WIDGET(glk_data->self));
gtk_widget_set_parent(win->frame, GTK_WIDGET(glk_data->self));
gtk_widget_queue_resize(GTK_WIDGET(glk_data->self));
@@
-888,10
+888,10
@@
glk_window_close(winid_t win, stream_result_t *result)
window_close_common(win, FALSE);
/* Schedule a redraw */
window_close_common(win, FALSE);
/* Schedule a redraw */
- g_mutex_lock(glk_data->arrange_lock);
+ g_mutex_lock(
&
glk_data->arrange_lock);
glk_data->needs_rearrange = TRUE;
glk_data->ignore_next_arrange_event = TRUE;
glk_data->needs_rearrange = TRUE;
glk_data->ignore_next_arrange_event = TRUE;
- g_mutex_unlock(glk_data->arrange_lock);
+ g_mutex_unlock(
&
glk_data->arrange_lock);
gtk_widget_queue_resize( GTK_WIDGET(glk_data->self) );
gdk_threads_leave();
}
gtk_widget_queue_resize( GTK_WIDGET(glk_data->self) );
gdk_threads_leave();
}
@@
-954,11
+954,11
@@
glk_window_clear(winid_t win)
/* fill the buffer with blanks */
{
/* Wait for the window's size to be updated */
/* fill the buffer with blanks */
{
/* Wait for the window's size to be updated */
- g_mutex_lock(glk_data->arrange_lock);
+ g_mutex_lock(
&
glk_data->arrange_lock);
if(glk_data->needs_rearrange)
if(glk_data->needs_rearrange)
- g_cond_wait(
glk_data->rearranged,
glk_data->arrange_lock);
- g_mutex_unlock(glk_data->arrange_lock);
-
+ g_cond_wait(
&glk_data->rearranged, &
glk_data->arrange_lock);
+ g_mutex_unlock(
&
glk_data->arrange_lock);
+
gdk_threads_enter();
/* Manually put newlines at the end of each row of characters in the buffer; manual newlines make resizing the window's grid easier. */
gdk_threads_enter();
/* Manually put newlines at the end of each row of characters in the buffer; manual newlines make resizing the window's grid easier. */
@@
-1006,10
+1006,10
@@
glk_window_clear(winid_t win)
GtkAllocation allocation;
/* Wait for the window's size to be updated */
GtkAllocation allocation;
/* Wait for the window's size to be updated */
- g_mutex_lock(glk_data->arrange_lock);
+ g_mutex_lock(
&
glk_data->arrange_lock);
if(glk_data->needs_rearrange)
if(glk_data->needs_rearrange)
- g_cond_wait(
glk_data->rearranged,
glk_data->arrange_lock);
- g_mutex_unlock(glk_data->arrange_lock);
+ g_cond_wait(
&glk_data->rearranged, &
glk_data->arrange_lock);
+ g_mutex_unlock(
&
glk_data->arrange_lock);
gdk_threads_enter();
gtk_widget_get_allocation(win->widget, &allocation);
gdk_threads_enter();
gtk_widget_get_allocation(win->widget, &allocation);
@@
-1150,11
+1150,11
@@
glk_window_get_size(winid_t win, glui32 *widthptr, glui32 *heightptr)
case wintype_TextGrid:
/* Wait until the window's size is current */
case wintype_TextGrid:
/* Wait until the window's size is current */
- g_mutex_lock(glk_data->arrange_lock);
+ g_mutex_lock(
&
glk_data->arrange_lock);
if(glk_data->needs_rearrange)
if(glk_data->needs_rearrange)
- g_cond_wait(
glk_data->rearranged,
glk_data->arrange_lock);
- g_mutex_unlock(glk_data->arrange_lock);
-
+ g_cond_wait(
&glk_data->rearranged, &
glk_data->arrange_lock);
+ g_mutex_unlock(
&
glk_data->arrange_lock);
+
gdk_threads_enter();
gtk_widget_get_allocation(win->widget, &allocation);
/* Cache the width and height */
gdk_threads_enter();
gtk_widget_get_allocation(win->widget, &allocation);
/* Cache the width and height */
@@
-1169,12
+1169,12
@@
glk_window_get_size(winid_t win, glui32 *widthptr, glui32 *heightptr)
break;
case wintype_TextBuffer:
break;
case wintype_TextBuffer:
- /* Wait until the window's size is current */
- g_mutex_lock(glk_data->arrange_lock);
+
/* Wait until the window's size is current */
+ g_mutex_lock(
&
glk_data->arrange_lock);
if(glk_data->needs_rearrange)
if(glk_data->needs_rearrange)
- g_cond_wait(
glk_data->rearranged,
glk_data->arrange_lock);
- g_mutex_unlock(glk_data->arrange_lock);
-
+ g_cond_wait(
&glk_data->rearranged, &
glk_data->arrange_lock);
+ g_mutex_unlock(
&
glk_data->arrange_lock);
+
gdk_threads_enter();
gtk_widget_get_allocation(win->widget, &allocation);
if(widthptr != NULL)
gdk_threads_enter();
gtk_widget_get_allocation(win->widget, &allocation);
if(widthptr != NULL)
@@
-1186,11
+1186,11
@@
glk_window_get_size(winid_t win, glui32 *widthptr, glui32 *heightptr)
break;
case wintype_Graphics:
break;
case wintype_Graphics:
- g_mutex_lock(glk_data->arrange_lock);
+ g_mutex_lock(
&
glk_data->arrange_lock);
if(glk_data->needs_rearrange)
if(glk_data->needs_rearrange)
- g_cond_wait(
glk_data->rearranged,
glk_data->arrange_lock);
- g_mutex_unlock(glk_data->arrange_lock);
-
+ g_cond_wait(
&glk_data->rearranged, &
glk_data->arrange_lock);
+ g_mutex_unlock(
&
glk_data->arrange_lock);
+
gdk_threads_enter();
gtk_widget_get_allocation(win->widget, &allocation);
if(widthptr != NULL)
gdk_threads_enter();
gtk_widget_get_allocation(win->widget, &allocation);
if(widthptr != NULL)
@@
-1293,10
+1293,10
@@
glk_window_set_arrangement(winid_t win, glui32 method, glui32 size, winid_t keyw
/* Tell GTK to rearrange the windows */
gdk_threads_enter();
/* Tell GTK to rearrange the windows */
gdk_threads_enter();
- g_mutex_lock(glk_data->arrange_lock);
+ g_mutex_lock(
&
glk_data->arrange_lock);
glk_data->needs_rearrange = TRUE;
glk_data->ignore_next_arrange_event = TRUE;
glk_data->needs_rearrange = TRUE;
glk_data->ignore_next_arrange_event = TRUE;
- g_mutex_unlock(glk_data->arrange_lock);
+ g_mutex_unlock(
&
glk_data->arrange_lock);
gtk_widget_queue_resize(GTK_WIDGET(glk_data->self));
gdk_threads_leave();
}
gtk_widget_queue_resize(GTK_WIDGET(glk_data->self));
gdk_threads_leave();
}
@@
-1365,10
+1365,10
@@
glk_window_move_cursor(winid_t win, glui32 xpos, glui32 ypos)
ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key);
/* Wait until the window's size is current */
ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key);
/* Wait until the window's size is current */
- g_mutex_lock(glk_data->arrange_lock);
+ g_mutex_lock(
&
glk_data->arrange_lock);
if(glk_data->needs_rearrange)
if(glk_data->needs_rearrange)
- g_cond_wait(
glk_data->rearranged,
glk_data->arrange_lock);
- g_mutex_unlock(glk_data->arrange_lock);
+ g_cond_wait(
&glk_data->rearranged, &
glk_data->arrange_lock);
+ g_mutex_unlock(
&
glk_data->arrange_lock);
/* Don't do anything if the window is shrunk down to nothing */
if(win->width == 0 || win->height == 0)
/* Don't do anything if the window is shrunk down to nothing */
if(win->width == 0 || win->height == 0)