diff options
author | Johan Dahlin <johan@src.gnome.org> | 2004-08-03 14:11:46 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2004-08-03 14:11:46 +0000 |
commit | 354412b9f37fc8d59bd539d72d3294acf68436ce (patch) | |
tree | fe128f01b4dd511aa7643788d31317828c287465 /gtk/pygtkcellrenderer.c | |
parent | 111891a45e1bd9513d197710e0d99d78b177be9d (diff) | |
download | pygtk-354412b9f37fc8d59bd539d72d3294acf68436ce.tar.gz |
Clean up most functions here to have only one return path.
* gtk/pygtktreemodel.c: Clean up most functions here to have only
one return path.
* gobject/pygobject.c (pygobject_emit): Protect g_value_unset by
UNBLOCK/BLOCK_THREADS since it might call pygobject_free which
will result in a deadlock.
* gobject/gobjectmodule.c (pyg_thread_init): New function, move
thread initalization stuff in here.
* All over the place: Kill pyg_block/unblock_threads and use
PyGILState and Py_BEGIN/END_ALLOW_THREADS.
unblock [code] block calls are replaced by Py_BEGIN/END and
block [code] unblock calls are replaced by PyGILState.
Diffstat (limited to 'gtk/pygtkcellrenderer.c')
-rw-r--r-- | gtk/pygtkcellrenderer.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/gtk/pygtkcellrenderer.c b/gtk/pygtkcellrenderer.c index 094439da..8673d17e 100644 --- a/gtk/pygtkcellrenderer.c +++ b/gtk/pygtkcellrenderer.c @@ -118,7 +118,6 @@ pygtk_generic_cell_renderer_get_size (GtkCellRenderer *cell, g_return_if_fail(PYGTK_IS_GENERIC_CELL_RENDERER (cell)); - pyg_block_threads(); state = PyGILState_Ensure(); self = pygobject_new((GObject *)cell); @@ -136,7 +135,6 @@ pygtk_generic_cell_renderer_get_size (GtkCellRenderer *cell, Py_DECREF(py_widget); Py_DECREF(py_cell_area); PyGILState_Release(state); - pyg_unblock_threads(); return; } Py_DECREF(py_widget); @@ -147,14 +145,12 @@ pygtk_generic_cell_renderer_get_size (GtkCellRenderer *cell, PyErr_Clear(); Py_DECREF(py_ret); PyGILState_Release(state); - pyg_unblock_threads(); g_warning("could not parse return value of get_size() method. " "Should be of form (x_offset, y_offset, width, height)"); return; } PyGILState_Release(state); - pyg_unblock_threads(); /* success */ if (x_offset) @@ -186,7 +182,6 @@ pygtk_generic_cell_renderer_render (GtkCellRenderer *cell, g_return_if_fail(PYGTK_IS_GENERIC_CELL_RENDERER (cell)); - pyg_block_threads(); state = PyGILState_Ensure(); self = pygobject_new((GObject *)cell); @@ -213,7 +208,6 @@ pygtk_generic_cell_renderer_render (GtkCellRenderer *cell, Py_DECREF(py_expose_area); PyGILState_Release(state); - pyg_unblock_threads(); } static gboolean @@ -232,7 +226,6 @@ pygtk_generic_cell_renderer_activate (GtkCellRenderer *cell, g_return_val_if_fail(PYGTK_IS_GENERIC_CELL_RENDERER (cell), FALSE); - pyg_block_threads(); state = PyGILState_Ensure(); self = pygobject_new((GObject *)cell); @@ -262,7 +255,6 @@ out: Py_DECREF(py_background_area); Py_DECREF(py_cell_area); PyGILState_Release(state); - pyg_unblock_threads(); return ret; } @@ -283,7 +275,6 @@ pygtk_generic_cell_renderer_start_editing (GtkCellRenderer *cell, g_return_val_if_fail(PYGTK_IS_GENERIC_CELL_RENDERER (cell), NULL); - pyg_block_threads(); state = PyGILState_Ensure(); self = pygobject_new((GObject *)cell); @@ -306,7 +297,6 @@ pygtk_generic_cell_renderer_start_editing (GtkCellRenderer *cell, Py_DECREF(py_background_area); Py_DECREF(py_cell_area); PyGILState_Release(state); - pyg_unblock_threads(); return NULL; } Py_DECREF(py_event); @@ -324,7 +314,6 @@ pygtk_generic_cell_renderer_start_editing (GtkCellRenderer *cell, } Py_DECREF(py_ret); PyGILState_Release(state); - pyg_unblock_threads(); return ret; } |