File: gcc10.patch

package info (click to toggle)
nautilus-python 1.2.3-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 2,084 kB
  • sloc: sh: 4,177; xml: 1,728; ansic: 729; python: 169; makefile: 137
file content (131 lines) | stat: -rw-r--r-- 5,510 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
From: Andreas Henriksson <andreas@fatal.se>
Subject: 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

--- nautilus-python-1.2.3.orig/src/nautilus-python-object.c
+++ nautilus-python-1.2.3/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
                                      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
 #endif
 
 beach:
-    free_pygobject_data(file, NULL);
+    free_pygobject_data(file_info, NULL);
     Py_XDECREF(py_ret);
     pyg_gil_state_release(state);
     return ret;
--- nautilus-python-1.2.3.orig/src/nautilus-python.c
+++ nautilus-python-1.2.3/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_pyt
 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);
--- nautilus-python-1.2.3.orig/src/nautilus-python.h
+++ nautilus-python-1.2.3/src/nautilus-python.h
@@ -43,37 +43,37 @@ extern NautilusPythonDebug nautilus_pyth
 #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 */