You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
148 lines
6.0 KiB
148 lines
6.0 KiB
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 */
|
|
--
|
|
2.26.2
|
|
|