diff options
Diffstat (limited to 'gtk')
| -rw-r--r-- | gtk/ScintillaGTK.cxx | 20 | ||||
| -rw-r--r-- | gtk/deps.mak | 2 | ||||
| -rw-r--r-- | gtk/makefile | 3 | ||||
| -rw-r--r-- | gtk/scintilla-marshal.c | 86 | ||||
| -rw-r--r-- | gtk/scintilla-marshal.h | 21 | ||||
| -rw-r--r-- | gtk/scintilla-marshal.list | 1 | 
6 files changed, 13 insertions, 120 deletions
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index 9fc8e4cc4..3caab96a4 100644 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -72,8 +72,6 @@  #include "ExternalLexer.h"  #endif -#include "scintilla-marshal.h" -  #include "Converter.h"  #if defined(__clang__) @@ -3162,9 +3160,6 @@ void ScintillaGTK::ClassInit(OBJECT_CLASS* object_class, GtkWidgetClass *widget_  	container_class->forall = MainForAll;  } -#define SIG_MARSHAL scintilla_marshal_NONE__INT_POINTER -#define MARSHAL_ARGUMENTS G_TYPE_INT, G_TYPE_POINTER -  static void scintilla_class_init(ScintillaClass *klass) {  	try {  		OBJECT_CLASS *object_class = (OBJECT_CLASS*) klass; @@ -3179,9 +3174,9 @@ static void scintilla_class_init(ScintillaClass *klass) {  		            G_STRUCT_OFFSET(ScintillaClass, command),  		            NULL, //(GSignalAccumulator)  		            NULL, //(gpointer) -		            SIG_MARSHAL, +		            NULL,  		            G_TYPE_NONE, -		            2, MARSHAL_ARGUMENTS); +		            2, G_TYPE_INT, GTK_TYPE_WIDGET);  		scintilla_signals[NOTIFY_SIGNAL] = g_signal_new(  		            SCINTILLA_NOTIFY, @@ -3190,9 +3185,9 @@ static void scintilla_class_init(ScintillaClass *klass) {  		            G_STRUCT_OFFSET(ScintillaClass, notify),  		            NULL,  		            NULL, -		            SIG_MARSHAL, +		            NULL,  		            G_TYPE_NONE, -		            2, MARSHAL_ARGUMENTS); +		            2, G_TYPE_INT, SCINTILLA_TYPE_NOTIFICATION);  		klass->command = NULL;  		klass->notify = NULL; @@ -3233,3 +3228,10 @@ void scintilla_release_resources(void) {  	} catch (...) {  	}  } + +/* Define a dummy boxed type because g-ir-scanner is unable to + * recognize gpointer-derived types. Note that SCNotificaiton + * is always allocated on stack so copying is not appropriate. */ +static void        *copy_(void *src) { return src; } +static void         free_(void *doc) { } +G_DEFINE_BOXED_TYPE(SCNotification, scnotification, copy_, free_) diff --git a/gtk/deps.mak b/gtk/deps.mak index 5b826358a..f59ef3282 100644 --- a/gtk/deps.mak +++ b/gtk/deps.mak @@ -15,7 +15,7 @@ ScintillaGTK.o: ScintillaGTK.cxx \   ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \   ../src/MarginView.h ../src/EditView.h ../src/Editor.h \   ../src/AutoComplete.h ../src/ScintillaBase.h ../src/ExternalLexer.h \ - scintilla-marshal.h Converter.h + Converter.h  AutoComplete.o: ../src/AutoComplete.cxx ../include/Platform.h \   ../include/Scintilla.h ../include/Sci_Position.h \   ../lexlib/CharacterSet.h ../src/Position.h ../src/AutoComplete.h diff --git a/gtk/makefile b/gtk/makefile index 8fd92f6db..a4d46d9a0 100644 --- a/gtk/makefile +++ b/gtk/makefile @@ -78,7 +78,6 @@ CFLAGS:=$(CTFLAGS)  CXXTFLAGS:=--std=gnu++0x $(CTFLAGS) $(REFLAGS)  CONFIGFLAGS:=$(shell pkg-config --cflags $(GTKVERSION)) -MARSHALLER=scintilla-marshal.o  .cxx.o:  	$(CXX) $(CONFIGFLAGS) $(CXXTFLAGS) $(CXXFLAGS) -c $< @@ -104,7 +103,7 @@ $(COMPLIB): Accessor.o CharacterSet.o LexerBase.o LexerModule.o LexerSimple.o St  	PropSetSimple.o PlatGTK.o \  	KeyMap.o LineMarker.o PositionCache.o ScintillaGTK.o CellBuffer.o CharacterCategory.o ViewStyle.o \  	RESearch.o RunStyles.o Selection.o Style.o Indicator.o AutoComplete.o UniConversion.o XPM.o \ -	$(MARSHALLER) $(LEXOBJS) +	$(LEXOBJS)  	$(AR) rc $@ $^  	$(RANLIB) $@ diff --git a/gtk/scintilla-marshal.c b/gtk/scintilla-marshal.c deleted file mode 100644 index be57b7c2e..000000000 --- a/gtk/scintilla-marshal.c +++ /dev/null @@ -1,86 +0,0 @@ - -#include	<glib-object.h> - - -#ifdef G_ENABLE_DEBUG -#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v) -#define g_marshal_value_peek_char(v)     g_value_get_char (v) -#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v) -#define g_marshal_value_peek_int(v)      g_value_get_int (v) -#define g_marshal_value_peek_uint(v)     g_value_get_uint (v) -#define g_marshal_value_peek_long(v)     g_value_get_long (v) -#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v) -#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v) -#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v) -#define g_marshal_value_peek_enum(v)     g_value_get_enum (v) -#define g_marshal_value_peek_flags(v)    g_value_get_flags (v) -#define g_marshal_value_peek_float(v)    g_value_get_float (v) -#define g_marshal_value_peek_double(v)   g_value_get_double (v) -#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v) -#define g_marshal_value_peek_param(v)    g_value_get_param (v) -#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v) -#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v) -#define g_marshal_value_peek_object(v)   g_value_get_object (v) -#else /* !G_ENABLE_DEBUG */ -/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. - *          Do not access GValues directly in your code. Instead, use the - *          g_value_get_*() functions - */ -#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int -#define g_marshal_value_peek_char(v)     (v)->data[0].v_int -#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint -#define g_marshal_value_peek_int(v)      (v)->data[0].v_int -#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint -#define g_marshal_value_peek_long(v)     (v)->data[0].v_long -#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong -#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64 -#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64 -#define g_marshal_value_peek_enum(v)     (v)->data[0].v_int -#define g_marshal_value_peek_flags(v)    (v)->data[0].v_uint -#define g_marshal_value_peek_float(v)    (v)->data[0].v_float -#define g_marshal_value_peek_double(v)   (v)->data[0].v_double -#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer -#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer -#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer -#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer -#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer -#endif /* !G_ENABLE_DEBUG */ - - -/* NONE:INT,POINTER (scintilla-marshal.list:1) */ -void -scintilla_marshal_VOID__INT_POINTER (GClosure     *closure, -                                     GValue       *return_value, -                                     guint         n_param_values, -                                     const GValue *param_values, -                                     gpointer      invocation_hint, -                                     gpointer      marshal_data) -{ -  typedef void (*GMarshalFunc_VOID__INT_POINTER) (gpointer     data1, -                                                  gint         arg_1, -                                                  gpointer     arg_2, -                                                  gpointer     data2); -  register GMarshalFunc_VOID__INT_POINTER callback; -  register GCClosure *cc = (GCClosure*) closure; -  register gpointer data1, data2; - -  g_return_if_fail (n_param_values == 3); - -  if (G_CCLOSURE_SWAP_DATA (closure)) -    { -      data1 = closure->data; -      data2 = g_value_peek_pointer (param_values + 0); -    } -  else -    { -      data1 = g_value_peek_pointer (param_values + 0); -      data2 = closure->data; -    } -  callback = (GMarshalFunc_VOID__INT_POINTER) (marshal_data ? marshal_data : cc->callback); - -  callback (data1, -            g_marshal_value_peek_int (param_values + 1), -            g_marshal_value_peek_pointer (param_values + 2), -            data2); -} - diff --git a/gtk/scintilla-marshal.h b/gtk/scintilla-marshal.h deleted file mode 100644 index 9116a56c9..000000000 --- a/gtk/scintilla-marshal.h +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef __scintilla_marshal_MARSHAL_H__ -#define __scintilla_marshal_MARSHAL_H__ - -#include	<glib-object.h> - -G_BEGIN_DECLS - -/* NONE:INT,POINTER (scintilla-marshal.list:1) */ -extern void scintilla_marshal_VOID__INT_POINTER (GClosure     *closure, -                                                 GValue       *return_value, -                                                 guint         n_param_values, -                                                 const GValue *param_values, -                                                 gpointer      invocation_hint, -                                                 gpointer      marshal_data); -#define scintilla_marshal_NONE__INT_POINTER	scintilla_marshal_VOID__INT_POINTER - -G_END_DECLS - -#endif /* __scintilla_marshal_MARSHAL_H__ */ - diff --git a/gtk/scintilla-marshal.list b/gtk/scintilla-marshal.list deleted file mode 100644 index e5750ecb6..000000000 --- a/gtk/scintilla-marshal.list +++ /dev/null @@ -1 +0,0 @@ -NONE:INT,POINTER  | 
