[kaffe] CVS kaffe (robilad): Resynced with GNU Classpath: awt, swing and gtk-peer fixes
Kaffe CVS
cvs-commits at kaffe.org
Thu Aug 18 18:38:02 PDT 2005
PatchSet 6843
Date: 2005/08/19 01:27:39
Author: robilad
Branch: HEAD
Tag: (none)
Log:
Resynced with GNU Classpath: awt, swing and gtk-peer fixes
Members:
ChangeLog:1.4366->1.4367
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:1.9->1.10
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c:1.17->1.18
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:1.17->1.18
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c:1.14->1.15
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c:1.6->1.7
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c:1.13->1.14
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c:1.7->1.8
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c:1.10->1.11
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c:1.7->1.8
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:1.17->1.18
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c:1.13->1.14
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c:1.9->1.10
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c:1.8->1.9
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c:1.9->1.10
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c:1.7->1.8
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c:1.7->1.8
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c:1.15->1.16
libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c:1.23->1.24
libraries/clib/awt/classpath-gtk/gtk-peer/gtkpeer.h:1.16->1.17
libraries/javalib/all.files:1.153->1.154
libraries/javalib/gnu/java/awt/peer/gtk/GdkGraphics.java:1.16->1.17
libraries/javalib/gnu/java/awt/peer/gtk/GdkGraphics2D.java:1.23->1.24
libraries/javalib/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java:1.11->1.12
libraries/javalib/gnu/java/awt/peer/gtk/GtkCheckboxPeer.java:1.5->1.6
libraries/javalib/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java:1.10->1.11
libraries/javalib/gnu/java/awt/peer/gtk/GtkFramePeer.java:1.12->1.13
libraries/javalib/gnu/java/awt/peer/gtk/GtkToolkit.java:1.21->1.22
libraries/javalib/gnu/java/awt/peer/gtk/GtkWindowPeer.java:1.12->1.13
libraries/javalib/java/awt/FlowLayout.java:1.13->1.14
libraries/javalib/java/awt/image/PixelGrabber.java:1.10->1.11
libraries/javalib/java/text/StringCharacterIterator.java:1.17->1.18
libraries/javalib/java/util/Vector.java:1.32->1.33
libraries/javalib/javax/swing/DefaultCellEditor.java:1.7->1.8
libraries/javalib/javax/swing/plaf/basic/BasicArrowButton.java:1.9->1.10
libraries/javalib/javax/swing/plaf/basic/BasicScrollBarUI.java:1.17->1.18
libraries/javalib/javax/swing/plaf/basic/BasicTextUI.java:1.19->1.20
libraries/javalib/javax/swing/plaf/basic/BasicTreeUI.java:1.18->1.19
libraries/javalib/javax/swing/plaf/multi/MultiButtonUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiColorChooserUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiComboBoxUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiDesktopIconUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiDesktopPaneUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiFileChooserUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiInternalFrameUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiLabelUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiListUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiLookAndFeel.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiMenuBarUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiMenuItemUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiOptionPaneUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiPanelUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiPopupMenuUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiProgressBarUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiRootPaneUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiScrollBarUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiScrollPaneUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiSeparatorUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiSliderUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiSpinnerUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiSplitPaneUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiTabbedPaneUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiTableHeaderUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiTableUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiTextUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiToolBarUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiToolTipUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiTreeUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/MultiViewportUI.java:INITIAL->1.1
libraries/javalib/javax/swing/plaf/multi/package.html:INITIAL->1.1
libraries/javalib/javax/swing/text/CompositeView.java:1.2->1.3
libraries/javalib/javax/swing/text/FieldView.java:1.5->1.6
libraries/javalib/javax/swing/text/GlyphView.java:1.2->1.3
libraries/javalib/javax/swing/text/IconView.java:1.2->1.3
libraries/javalib/javax/swing/text/PasswordView.java:1.5->1.6
libraries/javalib/javax/swing/text/PlainView.java:1.10->1.11
libraries/javalib/javax/swing/text/View.java:1.12->1.13
libraries/javalib/javax/swing/tree/DefaultTreeCellRenderer.java:1.11->1.12
libraries/javalib/javax/swing/tree/DefaultTreeSelectionModel.java:1.14->1.15
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4366 kaffe/ChangeLog:1.4367
--- kaffe/ChangeLog:1.4366 Fri Aug 19 00:38:28 2005
+++ kaffe/ChangeLog Fri Aug 19 01:27:39 2005
@@ -1,4 +1,238 @@
-2005-08-18 Riccardo Mottola <riccardo at kaffe.org>
+2005-08-19 Dalibor Topic <robilad at kaffe.org>
+
+ Resynced with GNU Classpath.
+
+ 2005-08-18 Lillian Angel <langel at redhat.com>
+
+ * javax/swing/DefaultCellEditor.java
+ (getTreeCellEditorComponent): Implemented.
+ * javax/swing/plaf/basic/BasicTreeUI.java
+ (isEditing): Implemented.
+ (mouseClicked): Moved code to mousePressed
+ (mousePressed): Code moved here from mouseClicked and
+ added in code to stop editing.
+ (selectPath): Default is changed to CONTIGUOUS_TREE_SELECTION
+ * javax/swing/tree/DefaultTreeSelectionModel.java
+ (DefaultTreeSelectionModel): Default is changed to CONTIGUOUS_TREE_SELECTION.
+
+ 2005-08-18 Roman Kennke <roman at kennke.org>
+
+ * javax/swing/plaf/basic/BasicArrowButton.java:
+ Set default size to 12.
+ * javax/swing/plaf/basic/BasicScrollBarUI.java
+ (calculatePreferredSize): Don't restrict width and height to
+ a minimum of 20.
+
+ 2005-08-18 Keith Seitz <keiths at redhat.com>
+
+ * vm/reference/gnu/classpath/jdwp/VMIdManager.java: New file
+ with example implementation of ID-management for JDWP back-end.
+ * gnu/classpath/jdwp/id/JdwpIdFactory.java: Removed. Now part of
+ VMIdManager.
+
+ 2005-08-18 Lillian Angel <langel at redhat.com>
+
+ * javax/swing/plaf/basic/BasicTreeUI.java
+ (setHashColor): Implemented.
+ (getRowForPath): Implemented.
+
+ 2005-08-18 Lillian Angel <langel at redhat.com>
+
+ * javax/swing/tree/DefaultTreeCellRenderer.java
+ (paint): Added check for null border.
+
+ 2005-08-18 Roman Kennke <roman at kennke.org>
+
+ * java/awt/FlowLayout.java
+ (setAlignment): Added comment explaining why we don't check
+ for illegal values here.
+
+ 2005-08-18 Roman Kennke <roman at kennke.org>
+
+ * java/awt/image/PixelGrabber.java
+ (startGrabbing): Replaced ImageConsumer.ABORTED with
+ ImageConsumer.IMAGEABORTED.
+
+ 2005-08-18 Roman Kennke <roman at kennke.org>
+
+ * java/awt/image/PixelGrabber.java
+ (constructors): Check if the ImageProducer is null and throw
+ a NPE if that is the case.
+ (startGrabbing): When an exception is thrown in the grabber thread,
+ exit gracefully and notify the waiting threads.
+ (imageComplete): Only call ip.removeConsumer() if ip is not null.
+
+ 2005-08-18 David Gilbert <david.gilbert at object-refinery.com>
+
+ * java/text/StringCharacterIterator.java
+ (StringCharacterIterator(String)): documented NullPointerException.
+
+ 2005-08-18 David Gilbert <david.gilbert at object-refinery.com>
+
+ * javax/swing/plaf/multi/MultiButtonUI.java: new file,
+ * javax/swing/plaf/multi/MultiColorChooserUI.java: new file,
+ * javax/swing/plaf/multi/MultiComboBoxUI.java: new file,
+ * javax/swing/plaf/multi/MultiDesktopIconUI.java: new file,
+ * javax/swing/plaf/multi/MultiDesktopPaneUI.java: new file,
+ * javax/swing/plaf/multi/MultiFileChooserUI.java: new file,
+ * javax/swing/plaf/multi/MultiInternalFrameUI.java: new file,
+ * javax/swing/plaf/multi/MultiLabelUI.java: new file,
+ * javax/swing/plaf/multi/MultiListUI.java: new file,
+ * javax/swing/plaf/multi/MultiLookAndFeel.java: new file,
+ * javax/swing/plaf/multi/MultiMenuBarUI.java: new file,
+ * javax/swing/plaf/multi/MultiMenuItemUI.java: new file,
+ * javax/swing/plaf/multi/MultiOptionPaneUI.java: new file,
+ * javax/swing/plaf/multi/MultiPanelUI.java: new file,
+ * javax/swing/plaf/multi/MultiPopupMenuUI.java: new file,
+ * javax/swing/plaf/multi/MultiProgressBarUI.java: new file,
+ * javax/swing/plaf/multi/MultiRootPaneUI.java: new file,
+ * javax/swing/plaf/multi/MultiScrollBarUI.java: new file,
+ * javax/swing/plaf/multi/MultiScrollPaneUI.java: new file,
+ * javax/swing/plaf/multi/MultiSeparatorUI.java: new file,
+ * javax/swing/plaf/multi/MultiSliderUI.java: new file,
+ * javax/swing/plaf/multi/MultiSpinnerUI.java: new file,
+ * javax/swing/plaf/multi/MultiSplitPaneUI.java: new file,
+ * javax/swing/plaf/multi/MultiTabbedPaneUI.java: new file,
+ * javax/swing/plaf/multi/MultiTableHeaderUI.java: new file,
+ * javax/swing/plaf/multi/MultiTableUI.java: new file,
+ * javax/swing/plaf/multi/MultiTextUI.java: new file,
+ * javax/swing/plaf/multi/MultiToolBarUI.java: new file,
+ * javax/swing/plaf/multi/MultiToolTipUI.java: new file,
+ * javax/swing/plaf/multi/MultiTreeUI.java: new file,
+ * javax/swing/plaf/multi/MultiViewportUI.java: new file,
+ * javax/swing/plaf/multi/package.html: new file.
+
+ 2005-08-18 David Gilbert <david.gilbert at object-refinery.com>
+
+ * java/util/Vector.java
+ (copyInto) fixed incorrect API description.
+
+ 2005-08-17 Thomas Fitzsimmons <fitzsim at redhat.com>
+
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c,
+ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c,
+ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,
+ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c,
+ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c: Remove
+ JamVM deadlock workarounds.
+
+ 2005-08-17 Thomas Fitzsimmons <fitzsim at redhat.com>
+
+ * gnu/java/awt/peer/gtk/GtkFramePeer.java,
+ gnu_java_awt_peer_gtk_GtkFramePeer.c (postConfigureEvent): Prevent
+ callback calling back into peers.
+ (setBounds): Likewise.
+ (setMenuBarWidthUnlocked): New method.
+ * native/jni/gtk-peer/gtkpeer.h (cp_gtk_filedialog_init_jni):
+ Declare function.
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
+ (gtkInit): Call cp_gtk_filedialog_init_jni.
+ (loadSystemColors): Work around deadlock.
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
+ (textcomponent_changed_cb): Don't release GDK lock.
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
+ (item_activate_cb): Don't release GDK lock.
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
+ (item_highlighted_cb): Don't release GDK lock.
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
+ (component_button_press_cb): Don't release GDK lock.
+ (component_button_release_cb): Likewise.
+ (component_motion_notify_cb): Likewise.
+ (component_enter_notify_cb): Likewise.
+ (component_leave_notify_cb): Likewise.
+ (component_expose_cb): Likewise.
+ (component_focus_in_cb): Likewise.
+ (component_focus_out_cb): Likewise.
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
+ (block_expose_event_cb): Remove callback.
+ * gnu/java/awt/peer/gtk/GtkWindowPeer.java,
+ gnu_java_awt_peer_gtk_GtkWindowPeer.c (postConfigureEvent):
+ Prevent callback calling back into peers.
+ (setBounds): Likewise.
+ (nativeSetBoundsUnlocked): New method.
+ (setBoundsUnlocked): Likewise.
+ (nativeSetVisibleUnlocked): Likewise.
+ (setVisibleUnlocked): Likewise.
+ (window_delete_cb): Don't release GDK lock.
+ (window_destroy_cb): Likewise.
+ (window_show_cb): Likewise.
+ (window_active_state_change_cb): Likewise.
+ (window_focus_state_change_cb): Likewise.
+ (window_focus_in_cb): Likewise.
+ (window_focus_out_cb): Likewise.
+ (window_window_state_cb): Likewise.
+ (window_property_changed_cb): Likewise.
+ (realize_cb): Likewise.
+ * gnu/java/awt/peer/gtk/GtkToolkit.java (mainThread): New
+ variable.
+ * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
+ gnu_java_awt_peer_gtk_GtkFileDialogPeer.c (setVisible): Prevent
+ callback calling back into peers.
+ (filename_filter_cb): Don't release GDK lock.
+ (handle_response_cb): Likewise.
+ (cp_gtk_filedialog_init_jni): New function.
+ * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (setState): Prevent
+ callback from calling back into peers.
+ (item_toggled_cb): Don't release GDK lock.
+ * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
+ gnu_java_awt_peer_gtk_GdkPixbufDecoder.c (area_prepared_cb): Don't
+ release GDK lock.
+ (area_updated_cb): Likewise.
+ * gnu/java/awt/peer/gtk/GdkGraphics2D.java,
+ gnu_java_awt_peer_gtk_GdkGraphics2D.c (initStateUnlocked): New
+ method.
+ (cairoSurfaceSetFilterUnlocked): Likewise.
+ (initComponentGraphics2DUnlocked): Likewise.
+ (setTexturePixelsUnlocked): Likewise.
+ (setGradientUnlocked): Likewise.
+ (cairoSetMatrixUnlocked): Likewise.
+ (cairoSetRGBAColorUnlocked): Likewise.
+ (cairoSetLineWidthUnlocked): Likewise.
+ (cairoSetLineCapUnlocked): Likewise.
+ (cairoSetLineJoinUnlocked): Likewise.
+ (cairoSetDashUnlocked): Likewise.
+ (cairoSetMiterLimitUnlocked): Likewise.
+ (setPaintUnlocked): Likewise.
+ (setTransformUnlocked): Likewise.
+ (setStrokeUnlocked): Likewise.
+ (setColorUnlocked): Likewise.
+ (setBackgroundUnlocked): Likewise.
+ (setRenderingHintsUnlocked): Likewise.
+ (setFontUnlocked): Likewise.
+ (realize_cb): Don't release GDK lock. Call
+ initComponentGraphics2DUnlocked.
+ * gnu/java/awt/peer/gtk/GdkGraphics.java,
+ gnu_java_awt_peer_gtk_GdkGraphics.c (initStateUnlocked): New
+ method.
+ (initComponentGraphicsUnlocked): New method.
+ (realize_cb): Don't release GDK lock. Call
+ initComponentGraphicsUnlocked.
+ * include/gnu_java_awt_peer_gtk_GdkGraphics.h: Regenerate.
+ * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h: Likewise.
+ * include/gnu_java_awt_peer_gtk_GtkFramePeer.h: Likewise.
+ * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: Likewise.
+
+ 2005-08-17 Lillian Angel <langel at redhat.com>
+
+ * javax/swing/plaf/basic/BasicTextUI.java
+ (viewToModel): Changed to match API spec.
+ * javax/swing/text/CompositeView.java
+ (viewToModel): Changed to match API spec.
+ * javax/swing/text/FieldView.java
+ (viewToModel): Changed to match API spec.
+ * javax/swing/text/GlyphView.java
+ (viewToModel): Changed to match API spec.
+ * javax/swing/text/IconView.java
+ (viewToModel): Changed to match API spec.
+ * javax/swing/text/PasswordView.java
+ (viewToModel): Changed to match API spec.
+ * javax/swing/text/PlainView.java
+ (viewToModel): Changed to match API spec.
+ * javax/swing/text/View.java
+ (viewToModel): Changed to match API spec.
+
+2005-08-19 Riccardo Mottola <riccardo at kaffe.org>
+
Added missing includes to:
kaffe/kaffevm/access.c
kaffe/kaffevm/file.c
Index: kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
diff -u kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:1.9 kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:1.10
--- kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:1.9 Tue Jul 26 16:22:02 2005
+++ kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c Fri Aug 19 01:27:50 2005
@@ -150,12 +150,8 @@
if (i == NULL)
{
- gdk_threads_leave ();
-
java_extents = (*env)->NewDoubleArray (env, 0);
java_codes = (*env)->NewIntArray (env, 0);
-
- gdk_threads_enter ();
}
else
{
@@ -177,12 +173,8 @@
int x = 0;
double scale = ((double) PANGO_SCALE);
- gdk_threads_leave ();
-
java_extents = (*env)->NewDoubleArray (env, glyphs->num_glyphs * NUM_GLYPH_METRICS);
java_codes = (*env)->NewIntArray (env, glyphs->num_glyphs);
-
- gdk_threads_enter ();
native_extents = (*env)->GetDoubleArrayElements (env, java_extents, NULL);
native_codes = (*env)->GetIntArrayElements (env, java_codes, NULL);
Index: kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
diff -u kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c:1.17 kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c:1.18
--- kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c:1.17 Sat Jul 30 16:39:06 2005
+++ kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c Fri Aug 19 01:27:50 2005
@@ -41,7 +41,7 @@
#include <gdk/gdkprivate.h>
#include <gdk/gdkx.h>
-static jmethodID initComponentGraphicsID;
+static jmethodID initComponentGraphicsUnlockedID;
void
cp_gtk_graphics_init_jni (void)
@@ -51,9 +51,10 @@
gdkgraphics = (*cp_gtk_gdk_env())->FindClass (cp_gtk_gdk_env(),
"gnu/java/awt/peer/gtk/GdkGraphics");
- initComponentGraphicsID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), gdkgraphics,
- "initComponentGraphics",
- "()V");
+ initComponentGraphicsUnlockedID =
+ (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), gdkgraphics,
+ "initComponentGraphicsUnlocked",
+ "()V");
}
struct state_table *cp_gtk_native_graphics_state_table;
@@ -175,10 +176,8 @@
gdk_threads_leave ();
}
-/* copy the native state of the peer (GtkWidget *) to the native state
- of the graphics object */
JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__Lgnu_java_awt_peer_gtk_GtkComponentPeer_2
+Java_gnu_java_awt_peer_gtk_GdkGraphics_initStateUnlocked
(JNIEnv *env, jobject obj, jobject peer)
{
struct graphics *g = NULL;
@@ -186,8 +185,6 @@
GtkWidget *widget = NULL;
GdkColor color;
- gdk_threads_enter ();
-
g = (struct graphics *) g_malloc (sizeof (struct graphics));
ptr = NSA_GET_PTR (env, peer);
g->x_offset = 0;
@@ -204,7 +201,17 @@
color = widget->style->fg[GTK_STATE_NORMAL];
NSA_SET_G_PTR (env, obj, g);
+}
+/* copy the native state of the peer (GtkWidget *) to the native state
+ of the graphics object */
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__Lgnu_java_awt_peer_gtk_GtkComponentPeer_2
+ (JNIEnv *env, jobject obj, jobject peer)
+{
+ gdk_threads_enter ();
+ Java_gnu_java_awt_peer_gtk_GdkGraphics_initStateUnlocked
+ (env, obj, peer);
gdk_threads_leave ();
}
@@ -666,11 +673,9 @@
static void
realize_cb (GtkWidget *widget __attribute__ ((unused)), jobject jgraphics)
{
- gdk_threads_leave ();
-
- (*cp_gtk_gdk_env())->CallVoidMethod (cp_gtk_gdk_env(), jgraphics, initComponentGraphicsID);
+ (*cp_gtk_gdk_env())->CallVoidMethod (cp_gtk_gdk_env(),
+ jgraphics,
+ initComponentGraphicsUnlockedID);
NSA_DEL_GLOBAL_G_REF (cp_gtk_gdk_env(), jgraphics);
-
- gdk_threads_enter ();
}
Index: kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
diff -u kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:1.17 kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:1.18
--- kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:1.17 Tue Jul 26 16:22:02 2005
+++ kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c Fri Aug 19 01:27:51 2005
@@ -52,7 +52,7 @@
#include <stdio.h>
#include <stdlib.h>
-static jmethodID initComponentGraphics2DID;
+static jmethodID initComponentGraphics2DUnlockedID;
void
cp_gtk_graphics2d_init_jni (void)
@@ -62,8 +62,8 @@
gdkgraphics2d = (*cp_gtk_gdk_env())->FindClass (cp_gtk_gdk_env(),
"gnu/java/awt/peer/gtk/GdkGraphics2D");
- initComponentGraphics2DID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), gdkgraphics2d,
- "initComponentGraphics2D",
+ initComponentGraphics2DUnlockedID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), gdkgraphics2d,
+ "initComponentGraphics2DUnlocked",
"()V");
}
@@ -369,11 +369,9 @@
static void
realize_cb (GtkWidget *widget __attribute__ ((unused)), jobject peer)
{
- gdk_threads_leave ();
-
- (*cp_gtk_gdk_env())->CallVoidMethod (cp_gtk_gdk_env(), peer, initComponentGraphics2DID);
-
- gdk_threads_enter ();
+ (*cp_gtk_gdk_env())->CallVoidMethod (cp_gtk_gdk_env(),
+ peer,
+ initComponentGraphics2DUnlockedID);
}
JNIEXPORT void JNICALL
@@ -593,6 +591,43 @@
}
JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_initStateUnlocked
+ (JNIEnv *env, jobject obj, jobject peer)
+{
+ struct graphics2d *gr = NULL;
+ GtkWidget *widget = NULL;
+ void *ptr = NULL;
+
+ if (peer_is_disposed(env, obj))
+ return;
+
+ ptr = NSA_GET_PTR (env, peer);
+ g_assert (ptr != NULL);
+
+ gr = (struct graphics2d *) g_malloc (sizeof (struct graphics2d));
+ g_assert (gr != NULL);
+ memset (gr, 0, sizeof(struct graphics2d));
+
+ check_for_debug (gr);
+
+ widget = GTK_WIDGET (ptr);
+ g_assert (widget != NULL);
+
+ grab_current_drawable (widget, &(gr->drawable), &(gr->win));
+ g_assert (gr->drawable != NULL);
+
+ gr->width = widget->allocation.width;
+ gr->height = widget->allocation.height;
+
+ if (x_server_has_render_extension ())
+ init_graphics2d_as_renderable (gr);
+ else
+ init_graphics2d_as_pixbuf (gr);
+
+ NSA_SET_G2D_PTR (env, obj, gr);
+}
+
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GdkGraphics2D_initState__Lgnu_java_awt_peer_gtk_GtkComponentPeer_2
(JNIEnv *env, jobject obj, jobject peer)
{
@@ -711,21 +746,36 @@
jint r2, jint g2, jint b2, jint a2,
jboolean cyclic)
{
+ gdk_threads_enter();
+ Java_gnu_java_awt_peer_gtk_GdkGraphics2D_setGradientUnlocked
+ (env, obj,
+ x1, y1, x2, y2,
+ r1, g1, b1, a1,
+ r2, g2, b2, a2,
+ cyclic);
+
+ gdk_threads_leave();
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_setGradientUnlocked
+ (JNIEnv *env, jobject obj,
+ jdouble x1, jdouble y1,
+ jdouble x2, jdouble y2,
+ jint r1, jint g1, jint b1, jint a1,
+ jint r2, jint g2, jint b2, jint a2,
+ jboolean cyclic)
+{
struct graphics2d *gr = NULL;
cairo_surface_t *surf = NULL;
cairo_t *cr2 = NULL;
cairo_matrix_t mat;
- gdk_threads_enter();
-
gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);
g_assert (gr != NULL);
if (peer_is_disposed(env, obj))
- {
- gdk_threads_leave ();
- return;
- }
+ return;
if (gr->debug) printf ("setGradient (%f,%f) -> (%f,%f); (%d,%d,%d,%d) -> (%d,%d,%d,%d)\n",
x1, y1,
@@ -826,24 +876,29 @@
gr->pattern = cairo_pattern_create_for_surface(surf);
cairo_set_source (gr->cr, gr->pattern);
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_setTexturePixels
+ (JNIEnv *env, jobject obj, jintArray jarr, jint w, jint h, jint stride)
+{
+ gdk_threads_enter();
+
+ Java_gnu_java_awt_peer_gtk_GdkGraphics2D_setTexturePixelsUnlocked
+ (env, obj, jarr, w, h, stride);
gdk_threads_leave();
}
JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkGraphics2D_setTexturePixels
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_setTexturePixelsUnlocked
(JNIEnv *env, jobject obj, jintArray jarr, jint w, jint h, jint stride)
{
struct graphics2d *gr = NULL;
jint *jpixels = NULL;
- gdk_threads_enter();
-
if (peer_is_disposed(env, obj))
- {
- gdk_threads_leave ();
- return;
- }
+ return;
gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);
g_assert (gr != NULL);
@@ -880,8 +935,6 @@
gr->pattern = cairo_pattern_create_for_surface (gr->pattern_surface);
g_assert (gr->pattern != NULL);
cairo_set_source (gr->cr, gr->pattern);
-
- gdk_threads_leave();
}
JNIEXPORT void JNICALL
@@ -996,26 +1049,30 @@
Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetMatrix
(JNIEnv *env, jobject obj, jdoubleArray java_matrix)
{
+ gdk_threads_enter();
+
+ Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetMatrixUnlocked
+ (env, obj, java_matrix);
+
+ gdk_threads_leave();
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetMatrixUnlocked
+ (JNIEnv *env, jobject obj, jdoubleArray java_matrix)
+{
struct graphics2d *gr = NULL;
jdouble *native_matrix = NULL;
- gdk_threads_enter();
-
if (peer_is_disposed(env, obj))
- {
- gdk_threads_leave ();
- return;
- }
+ return;
gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);
/* cairoSetMatrix was called before this graphics object's component
was realized. */
if (gr == NULL)
- {
- gdk_threads_leave ();
- return;
- }
+ return;
native_matrix = (*env)->GetDoubleArrayElements (env, java_matrix, NULL);
g_assert (native_matrix != NULL);
@@ -1039,8 +1096,6 @@
(*env)->ReleaseDoubleArrayElements (env, java_matrix, native_matrix, 0);
update_pattern_transform (gr);
-
- gdk_threads_leave();
}
static void
@@ -1357,15 +1412,22 @@
Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetRGBAColor
(JNIEnv *env, jobject obj, jdouble r, jdouble g, jdouble b, jdouble a)
{
- struct graphics2d *gr = NULL;
-
gdk_threads_enter();
+ Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetRGBAColorUnlocked
+ (env, obj, r, g, b, a);
+
+ gdk_threads_leave();
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetRGBAColorUnlocked
+ (JNIEnv *env, jobject obj, jdouble r, jdouble g, jdouble b, jdouble a)
+{
+ struct graphics2d *gr = NULL;
+
if (peer_is_disposed(env, obj))
- {
- gdk_threads_leave ();
- return;
- }
+ return;
gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);
g_assert (gr != NULL);
@@ -1381,8 +1443,6 @@
cairo_set_source_rgba (gr->cr, b, g, r, a);
else
cairo_set_source_rgba (gr->cr, r, g, b, a);
-
- gdk_threads_leave();
}
JNIEXPORT void JNICALL
@@ -1419,10 +1479,20 @@
Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineWidth
(JNIEnv *env, jobject obj, jdouble width)
{
- struct graphics2d *gr = NULL;
-
gdk_threads_enter();
+ Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineWidthUnlocked
+ (env, obj, width);
+
+ gdk_threads_leave();
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineWidthUnlocked
+ (JNIEnv *env, jobject obj, jdouble width)
+{
+ struct graphics2d *gr = NULL;
+
if (peer_is_disposed(env, obj))
return;
@@ -1430,23 +1500,28 @@
g_assert (gr != NULL);
if (gr->debug) printf ("cairo_set_line_width %f\n", width);
cairo_set_line_width (gr->cr, width);
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineCap
+ (JNIEnv *env, jobject obj, jint cap)
+{
+ gdk_threads_enter();
+
+ Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineCapUnlocked
+ (env, obj, cap);
gdk_threads_leave();
}
JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineCap
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineCapUnlocked
(JNIEnv *env, jobject obj, jint cap)
{
struct graphics2d *gr = NULL;
- gdk_threads_enter();
-
if (peer_is_disposed(env, obj))
- {
- gdk_threads_leave ();
- return;
- }
+ return;
gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);
g_assert (gr != NULL);
@@ -1465,23 +1540,28 @@
cairo_set_line_cap (gr->cr, CAIRO_LINE_CAP_SQUARE);
break;
}
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineJoin
+ (JNIEnv *env, jobject obj, jint join)
+{
+ gdk_threads_enter();
+
+ Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineJoinUnlocked
+ (env, obj, join);
gdk_threads_leave();
}
JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineJoin
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineJoinUnlocked
(JNIEnv *env, jobject obj, jint join)
{
struct graphics2d *gr = NULL;
- gdk_threads_enter();
-
if (peer_is_disposed(env, obj))
- {
- gdk_threads_leave ();
- return;
- }
+ return;
gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);
g_assert (gr != NULL);
@@ -1500,24 +1580,29 @@
cairo_set_line_join (gr->cr, CAIRO_LINE_JOIN_BEVEL);
break;
}
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetDash
+ (JNIEnv *env, jobject obj, jdoubleArray dashes, jint ndash, jdouble offset)
+{
+ gdk_threads_enter();
+
+ Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetDashUnlocked
+ (env, obj, dashes, ndash, offset);
gdk_threads_leave();
}
JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetDash
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetDashUnlocked
(JNIEnv *env, jobject obj, jdoubleArray dashes, jint ndash, jdouble offset)
{
struct graphics2d *gr = NULL;
jdouble *dasharr = NULL;
- gdk_threads_enter();
-
if (peer_is_disposed(env, obj))
- {
- gdk_threads_leave ();
- return;
- }
+ return;
gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);
g_assert (gr != NULL);
@@ -1526,30 +1611,33 @@
g_assert (dasharr != NULL);
cairo_set_dash (gr->cr, dasharr, ndash, offset);
(*env)->ReleaseDoubleArrayElements (env, dashes, dasharr, 0);
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetMiterLimit
+ (JNIEnv *env, jobject obj, jdouble miter)
+{
+ gdk_threads_enter();
+
+ Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetMiterLimitUnlocked
+ (env, obj, miter);
gdk_threads_leave();
}
JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetMiterLimit
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetMiterLimitUnlocked
(JNIEnv *env, jobject obj, jdouble miter)
{
struct graphics2d *gr = NULL;
- gdk_threads_enter();
-
if (peer_is_disposed(env, obj))
- {
- gdk_threads_leave ();
- return;
- }
+ return;
gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);
g_assert (gr != NULL);
if (gr->debug) printf ("cairo_set_miter_limit %f\n", miter);
cairo_set_miter_limit (gr->cr, miter);
-
- gdk_threads_leave();
}
JNIEXPORT void JNICALL
@@ -1845,15 +1933,22 @@
Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSurfaceSetFilter
(JNIEnv *env, jobject obj, jint filter)
{
- struct graphics2d *gr = NULL;
-
gdk_threads_enter();
+ Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSurfaceSetFilterUnlocked
+ (env, obj, filter);
+
+ gdk_threads_leave();
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSurfaceSetFilterUnlocked
+ (JNIEnv *env, jobject obj, jint filter)
+{
+ struct graphics2d *gr = NULL;
+
if (peer_is_disposed(env, obj))
- {
- gdk_threads_leave ();
- return;
- }
+ return;
gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);
g_assert (gr != NULL);
@@ -1876,6 +1971,4 @@
cairo_pattern_set_filter (gr->pattern, CAIRO_FILTER_BEST);
break;
}
-
- gdk_threads_leave();
}
Index: kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
diff -u kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c:1.14 kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c:1.15
--- kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c:1.14 Tue Jul 26 16:22:02 2005
+++ kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c Fri Aug 19 01:27:51 2005
@@ -97,14 +97,10 @@
e.jni_env = &env;
(*vm)->GetEnv (vm, e.void_env, JNI_VERSION_1_1);
- gdk_threads_leave ();
-
(*env)->CallVoidMethod (env,
*decoder,
areaPreparedID,
width, height);
-
- gdk_threads_enter ();
}
static void
@@ -143,12 +139,8 @@
e.jni_env = &env;
(*vm)->GetEnv (vm, e.void_env, JNI_VERSION_1_1);
- gdk_threads_leave ();
-
jpixels = (*env)->NewIntArray (env, n_pixels);
- gdk_threads_enter ();
-
java_pixels = (*env)->GetIntArrayElements (env, jpixels, NULL);
memcpy (java_pixels,
@@ -165,8 +157,6 @@
g_object_unref (pixbuf);
- gdk_threads_leave ();
-
(*env)->ReleaseIntArrayElements (env, jpixels, java_pixels, 0);
(*env)->CallVoidMethod (env,
@@ -178,8 +168,6 @@
stride_pixels);
(*env)->DeleteLocalRef(env, jpixels);
-
- gdk_threads_enter ();
}
static void
@@ -190,12 +178,8 @@
e.jni_env = &env;
(*vm)->GetEnv (vm, e.void_env, JNI_VERSION_1_1);
- gdk_threads_leave ();
-
(*env)->DeleteGlobalRef (env, *decoder);
g_free (decoder);
-
- gdk_threads_enter ();
}
Index: kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c
diff -u kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c:1.6 kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c:1.7
--- kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c:1.6 Tue Jul 26 16:22:02 2005
+++ kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c Fri Aug 19 01:27:52 2005
@@ -313,11 +313,7 @@
n_pixels = height * stride_pixels;
gdk_pixels = gdk_pixbuf_get_pixels (pixbuf);
- gdk_threads_leave ();
-
jpixels = (*env)->NewIntArray (env, n_pixels);
-
- gdk_threads_enter ();
java_pixels = (*env)->GetIntArrayElements (env, jpixels, NULL);
Index: kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
diff -u kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c:1.13 kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c:1.14
--- kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c:1.13 Mon Aug 15 22:35:38 2005
+++ kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c Fri Aug 19 01:27:52 2005
@@ -63,9 +63,6 @@
"postActionEvent", "(I)V");
*** Patch too long, truncated ***
More information about the kaffe
mailing list