summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Fitzsimmons <fitzsim@redhat.com>2005-06-29 20:13:13 +0000
committerThomas Fitzsimmons <fitzsim@redhat.com>2005-06-29 20:13:13 +0000
commit74f9e1961fcb12e8b79db932d89bba18b18a31c0 (patch)
treeb1ed7041b77c1188dfe5972add2295c4d242a6f9
parent81d19d3f07976732f34c028aa103ffb69763b2ad (diff)
downloadclasspath-74f9e1961fcb12e8b79db932d89bba18b18a31c0.tar.gz
2005-06-29 Thomas Fitzsimmons <fitzsim@redhat.com>
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c: Re-add GTK 2.4 support.
-rw-r--r--ChangeLog5
-rw-r--r--native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c21
2 files changed, 26 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7b5a2d9bd..0d6ee270b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-29 Thomas Fitzsimmons <fitzsim@redhat.com>
+
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c:
+ Re-add GTK 2.4 support.
+
2005-06-29 Christian Thalinger <twisti@complang.tuwien.ac.at>
* native/fdlibm/Makefile.am: Added s_finite.c
diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
index 10e53d43c..b10f33f5b 100644
--- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
+++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
@@ -41,10 +41,15 @@ exception statement from your version. */
#include "gnu_java_awt_peer_gtk_GtkComponentPeer.h"
#include "gnu_java_awt_peer_gtk_GtkScrollbarPeer.h"
+#if GTK_MINOR_VERSION > 4
static gboolean slider_moved_cb (GtkRange *range,
GtkScrollType scroll,
gdouble value,
jobject obj);
+#else
+static void post_change_event (GtkRange *range,
+ jobject peer);
+#endif
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_create
@@ -92,8 +97,13 @@ Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_connectSignals
gdk_threads_enter ();
+#if GTK_MINOR_VERSION > 4
g_signal_connect (G_OBJECT (ptr), "change-value",
GTK_SIGNAL_FUNC (slider_moved_cb), *gref);
+#else
+ g_signal_connect (G_OBJECT (ptr), "value-changed",
+ G_CALLBACK (post_change_event), *gref);
+#endif
gdk_threads_leave ();
@@ -157,6 +167,7 @@ Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues
gdk_threads_leave ();
}
+#if GTK_MINOR_VERSION > 4
static gboolean
slider_moved_cb (GtkRange *range,
GtkScrollType scroll,
@@ -212,3 +223,13 @@ slider_moved_cb (GtkRange *range,
}
return FALSE;
}
+#else
+static void
+post_change_event (GtkRange *range, jobject peer)
+{
+ GtkAdjustment *adj;
+ adj = gtk_range_get_adjustment (range);
+ (*gdk_env())->CallVoidMethod (gdk_env(), peer, postAdjustmentEventID,
+ AWT_ADJUSTMENT_TRACK, (jint) adj->value);
+}
+#endif