123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- From bd4820186751034c6b5acb9c71b1aeab03c56523 Mon Sep 17 00:00:00 2001
- From: Andreas Henriksson <andreas@fatal.se>
- Date: Mon, 11 May 2020 14:57:45 +0200
- Subject: [PATCH] Fix build with gcc 10
- Bug-Debian: https://bugs.debian.org/957578
- Forwarded: https://gitlab.gnome.org/GNOME/nautilus-python/-/merge_requests/7
- Last-Update: 2020-05-11
- ---
- src/nautilus-python-object.c | 10 +++++-----
- src/nautilus-python.c | 13 +++++++++++++
- src/nautilus-python.h | 22 +++++++++++-----------
- 3 files changed, 29 insertions(+), 16 deletions(-)
- diff --git a/src/nautilus-python-object.c b/src/nautilus-python-object.c
- index f343070..da185ad 100644
- --- a/src/nautilus-python-object.c
- +++ b/src/nautilus-python-object.c
- @@ -40,7 +40,7 @@ int __PyString_Check(PyObject *obj) {
- #endif
- }
-
- -char* __PyString_AsString(PyObject *obj) {
- +const char* __PyString_AsString(PyObject *obj) {
- #if PY_MAJOR_VERSION >= 3
- return PyUnicode_AsUTF8(obj);
- #else
- @@ -389,7 +389,7 @@ beach:
- #define METHOD_NAME "update_file_info"
- static NautilusOperationResult
- nautilus_python_object_update_file_info (NautilusInfoProvider *provider,
- - NautilusFile *file,
- + NautilusFileInfo *file_info,
- GClosure *update_complete,
- NautilusOperationHandle **handle) {
- NautilusPythonObject *object = (NautilusPythonObject*)provider;
- @@ -408,12 +408,12 @@ nautilus_python_object_update_file_info (NautilusInfoProvider *provider,
- pygobject_new((GObject*)provider),
- py_handle,
- pyg_boxed_new(G_TYPE_CLOSURE, update_complete, TRUE, TRUE),
- - pygobject_new((GObject*)file));
- + pygobject_new((GObject*)file_info));
- }
- else if (PyObject_HasAttrString(object->instance, "update_file_info")) {
- py_ret = PyObject_CallMethod(object->instance,
- METHOD_PREFIX METHOD_NAME, "(N)",
- - pygobject_new((GObject*)file));
- + pygobject_new((GObject*)file_info));
- }
- else {
- goto beach;
- @@ -434,7 +434,7 @@ nautilus_python_object_update_file_info (NautilusInfoProvider *provider,
- #endif
-
- beach:
- - free_pygobject_data(file, NULL);
- + free_pygobject_data(file_info, NULL);
- Py_XDECREF(py_ret);
- pyg_gil_state_release(state);
- return ret;
- diff --git a/src/nautilus-python.c b/src/nautilus-python.c
- index 843e3c6..510cdfb 100644
- --- a/src/nautilus-python.c
- +++ b/src/nautilus-python.c
- @@ -22,6 +22,7 @@
- #endif
-
- #include <Python.h>
- +#define NO_IMPORT_PYGOBJECT //To avoid a multiple definition, nautilus-python-object.c also includes and does the import.
- #include <pygobject.h>
- #include <gmodule.h>
- #include <gtk/gtk.h>
- @@ -42,6 +43,18 @@ static gboolean nautilus_python_init_python(void);
- static GArray *all_types = NULL;
-
-
- +PyTypeObject *_PyGtkWidget_Type;
- +PyTypeObject *_PyNautilusColumn_Type;
- +PyTypeObject *_PyNautilusColumnProvider_Type;
- +PyTypeObject *_PyNautilusInfoProvider_Type;
- +PyTypeObject *_PyNautilusLocationWidgetProvider_Type;
- +PyTypeObject *_PyNautilusMenu_Type;
- +PyTypeObject *_PyNautilusMenuItem_Type;
- +PyTypeObject *_PyNautilusMenuProvider_Type;
- +PyTypeObject *_PyNautilusPropertyPage_Type;
- +PyTypeObject *_PyNautilusPropertyPageProvider_Type;
- +PyTypeObject *_PyNautilusOperationHandle_Type;
- +
- static inline gboolean
- np_init_pygobject(void) {
- PyObject *gobject = pygobject_init (PYGOBJECT_MAJOR_VERSION, PYGOBJECT_MINOR_VERSION, PYGOBJECT_MICRO_VERSION);
- diff --git a/src/nautilus-python.h b/src/nautilus-python.h
- index 4c181f8..c940a06 100644
- --- a/src/nautilus-python.h
- +++ b/src/nautilus-python.h
- @@ -43,37 +43,37 @@ extern NautilusPythonDebug nautilus_python_debug;
- #define debug_enter_args(x, y) { if (nautilus_python_debug & NAUTILUS_PYTHON_DEBUG_MISC) \
- g_printf("%s: entered " x "\n", __FUNCTION__, y); }
-
- -PyTypeObject *_PyGtkWidget_Type;
- +extern PyTypeObject *_PyGtkWidget_Type;
- #define PyGtkWidget_Type (*_PyGtkWidget_Type)
-
- -PyTypeObject *_PyNautilusColumn_Type;
- +extern PyTypeObject *_PyNautilusColumn_Type;
- #define PyNautilusColumn_Type (*_PyNautilusColumn_Type)
-
- -PyTypeObject *_PyNautilusColumnProvider_Type;
- +extern PyTypeObject *_PyNautilusColumnProvider_Type;
- #define PyNautilusColumnProvider_Type (*_PyNautilusColumnProvider_Type)
-
- -PyTypeObject *_PyNautilusInfoProvider_Type;
- +extern PyTypeObject *_PyNautilusInfoProvider_Type;
- #define PyNautilusInfoProvider_Type (*_PyNautilusInfoProvider_Type)
-
- -PyTypeObject *_PyNautilusLocationWidgetProvider_Type;
- +extern PyTypeObject *_PyNautilusLocationWidgetProvider_Type;
- #define PyNautilusLocationWidgetProvider_Type (*_PyNautilusLocationWidgetProvider_Type)
-
- -PyTypeObject *_PyNautilusMenu_Type;
- +extern PyTypeObject *_PyNautilusMenu_Type;
- #define PyNautilusMenu_Type (*_PyNautilusMenu_Type)
-
- -PyTypeObject *_PyNautilusMenuItem_Type;
- +extern PyTypeObject *_PyNautilusMenuItem_Type;
- #define PyNautilusMenuItem_Type (*_PyNautilusMenuItem_Type)
-
- -PyTypeObject *_PyNautilusMenuProvider_Type;
- +extern PyTypeObject *_PyNautilusMenuProvider_Type;
- #define PyNautilusMenuProvider_Type (*_PyNautilusMenuProvider_Type)
-
- -PyTypeObject *_PyNautilusPropertyPage_Type;
- +extern PyTypeObject *_PyNautilusPropertyPage_Type;
- #define PyNautilusPropertyPage_Type (*_PyNautilusPropertyPage_Type)
-
- -PyTypeObject *_PyNautilusPropertyPageProvider_Type;
- +extern PyTypeObject *_PyNautilusPropertyPageProvider_Type;
- #define PyNautilusPropertyPageProvider_Type (*_PyNautilusPropertyPageProvider_Type)
-
- -PyTypeObject *_PyNautilusOperationHandle_Type;
- +extern PyTypeObject *_PyNautilusOperationHandle_Type;
- #define PyNautilusOperationHandle_Type (*_PyNautilusOperationHandle_Type)
-
- #endif /* NAUTILUS_PYTHON_H */
- --
- GitLab
|