diff options
author | Robby Workman <rworkman@slackbuilds.org> | 2011-03-16 01:13:49 -0500 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2011-03-20 12:33:01 -0500 |
commit | 7a1b4848a3d34a263544fadf08178c91c12fbad0 (patch) | |
tree | 8987d0fc908e371dfa87445425f59c7514075b37 /python/sexy-python/fix-sexy_tooltip_position_to_rect.patch | |
parent | 987d45e99a299c3b24418b2976e8ec9d5f3bf404 (diff) | |
download | slackbuilds-7a1b4848a3d34a263544fadf08178c91c12fbad0.tar.gz |
python/*: Moved a lot of Python stuff here
The criteria for whether something "belongs" in Development or
Libraries or Python or ... is admittedly arbitrary. As a general
rule, if it could be either Libraries or Python, it's Python.
Otherwise, pick one and we'll go from there...
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'python/sexy-python/fix-sexy_tooltip_position_to_rect.patch')
-rw-r--r-- | python/sexy-python/fix-sexy_tooltip_position_to_rect.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/python/sexy-python/fix-sexy_tooltip_position_to_rect.patch b/python/sexy-python/fix-sexy_tooltip_position_to_rect.patch new file mode 100644 index 0000000000..93b45e93d1 --- /dev/null +++ b/python/sexy-python/fix-sexy_tooltip_position_to_rect.patch @@ -0,0 +1,50 @@ +diff -Nur sexy-python-0.1.9/sexy/sexy.override sexy-python-0.1.9.new/sexy/sexy.override +--- sexy-python-0.1.9/sexy/sexy.override 2006-03-18 22:48:12.000000000 +0100 ++++ sexy-python-0.1.9.new/sexy/sexy.override 2007-03-08 11:11:46.000000000 +0100 +@@ -163,5 +163,46 @@ + return 0; + } + %% ++override sexy_tooltip_position_to_rect kwargs ++ ++/* Stock pygdk_rectangle_from_pyobject crashes with (at least) PyGTK 2.6.8 */ ++static gboolean ++_gimmie_pygdk_rectangle_from_pyobject(PyObject *object, GdkRectangle *rectangle) ++{ ++ g_return_val_if_fail(rectangle != NULL, FALSE); ++ ++ if (pyg_boxed_check(object, GDK_TYPE_RECTANGLE)) { ++ *rectangle = *pyg_boxed_get(object, GdkRectangle); ++ return TRUE; ++ } ++ if (PyArg_ParseTuple(object, "iiii", &rectangle->x, &rectangle->y, ++ &rectangle->width, &rectangle->height)) { ++ return TRUE; ++ } ++ PyErr_Clear(); ++ PyErr_SetString(PyExc_TypeError, "could not convert to GdkRectangle"); ++ return FALSE; ++} ++ ++static PyObject * ++_wrap_sexy_tooltip_position_to_rect(PyGObject *self, PyObject *args, PyObject *kwargs) ++{ ++ static char *kwlist[] = { "rect", "screen", NULL }; ++ PyObject *py_rect; ++ PyGObject *screen; ++ GdkRectangle rect = { 0, 0, 0, 0 }; ++ ++ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OO!:SexyTooltip.position_to_rect", kwlist, &py_rect, &PyGdkScreen_Type, &screen)) ++ return NULL; ++ ++ /* FIXME: Force the use of a newer version which does not crash */ ++ if (!_gimmie_pygdk_rectangle_from_pyobject(py_rect, &rect)) ++ return NULL; ++ ++ sexy_tooltip_position_to_rect(SEXY_TOOLTIP(self->obj), &rect, GDK_SCREEN(screen->obj)); ++ Py_INCREF(Py_None); ++ return Py_None; ++} ++%% + init + pyg_set_object_has_new_constructor(SEXY_TYPE_URL_LABEL); |