summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2006-12-08 08:46:31 +0000
committerMark Wielaard <mark@klomp.org>2006-12-08 08:46:31 +0000
commit7239524f011fcdd11f1b9da4d299496d8e91830e (patch)
treeb1af5fcf132b520540817a5fa5207540f4fa5615
parent3ffa3b8a898b92413c2f8af27158fe3f1e4ec5e7 (diff)
downloadclasspath-7239524f011fcdd11f1b9da4d299496d8e91830e.tar.gz
2006-12-06 Thomas Fitzsimmons <fitzsim@redhat.com>
* java/awt/ScrollPane.java (addNotify): Add a parent panel for any lightweight component, not just for non-Panel components. (addImpl): Do not call doLayout. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c (setNativeBounds): Ensure widget parent is a GtkFixed before calling gtk_fixed_move. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c (setNativeBounds): Likewise. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c (setNativeBounds): Likewise. 2006-12-04 Thomas Fitzsimmons <fitzsim@redhat.com> * java/awt/Component.java (getFontImpl): Return a default font if topmost parent's font is null.
-rw-r--r--ChangeLog18
-rw-r--r--java/awt/Component.java2
-rw-r--r--java/awt/ScrollPane.java4
-rw-r--r--native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c2
-rw-r--r--native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c18
-rw-r--r--native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c2
6 files changed, 32 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index e8468318f..6eba370af 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2006-12-06 Thomas Fitzsimmons <fitzsim@redhat.com>
+
+ * java/awt/ScrollPane.java (addNotify): Add a parent panel for any
+ lightweight component, not just for non-Panel components.
+ (addImpl): Do not call doLayout.
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
+ (setNativeBounds): Ensure widget parent is a GtkFixed before
+ calling gtk_fixed_move.
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
+ (setNativeBounds): Likewise.
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
+ (setNativeBounds): Likewise.
+
+2006-12-04 Thomas Fitzsimmons <fitzsim@redhat.com>
+
+ * java/awt/Component.java (getFontImpl): Return a default font if
+ topmost parent's font is null.
+
2006-12-04 Mark Wielaard <mark@klomp.org>
* javax/swing/text/html/CSS.java (parseMarginShorthand):
diff --git a/java/awt/Component.java b/java/awt/Component.java
index 4b2c4496a..b6eadabbb 100644
--- a/java/awt/Component.java
+++ b/java/awt/Component.java
@@ -1203,6 +1203,8 @@ public abstract class Component
Component p = parent;
if (p != null)
f = p.getFontImpl();
+ else
+ f = new Font("Dialog", Font.PLAIN, 12);
}
return f;
}
diff --git a/java/awt/ScrollPane.java b/java/awt/ScrollPane.java
index 6d7994dab..35a81300d 100644
--- a/java/awt/ScrollPane.java
+++ b/java/awt/ScrollPane.java
@@ -414,7 +414,7 @@ addNotify()
super.addNotify();
Component[] list = getComponents();
- if (list != null && list.length > 0 && ! (list[0] instanceof Panel))
+ if (list != null && list.length > 0 && list[0].isLightweight())
{
Panel panel = new Panel();
panel.setLayout(new BorderLayout());
@@ -454,8 +454,6 @@ removeNotify()
remove(list[0]);
super.addImpl(component, constraints, index);
-
- doLayout();
}
/*************************************************************************/
diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
index 6a9066cbe..1099287e2 100644
--- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
+++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
@@ -353,7 +353,7 @@ Java_gnu_java_awt_peer_gtk_GtkButtonPeer_setNativeBounds
/* ...and the label's size request. */
gtk_widget_set_size_request (gtk_bin_get_child (GTK_BIN (child)), width,
height);
- if (widget->parent != NULL)
+ if (widget->parent != NULL && GTK_IS_FIXED (widget->parent))
gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y);
}
diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
index 39524eea0..d2025bb70 100644
--- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
+++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
@@ -659,16 +659,16 @@ Java_gnu_java_awt_peer_gtk_GtkComponentPeer_setNativeBounds
width = width < 0 ? 0 : width;
height = height < 0 ? 0 : height;
- if (GTK_IS_VIEWPORT (widget->parent))
- gtk_widget_set_size_request (widget, width, height);
- else
+ if (!(width == 0 && height == 0))
{
- if (!(width == 0 && height == 0))
- {
- gtk_widget_set_size_request (widget, width, height);
- if (widget->parent != NULL)
- gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y);
- }
+ gtk_widget_set_size_request (widget, width, height);
+ /* The GTK_IS_FIXED check here prevents gtk_fixed_move being
+ called when our parent is a GtkScrolledWindow. In that
+ case though, moving the child widget is invalid since a
+ ScrollPane only has one child and that child is always
+ located at (0, 0) in viewport coordinates. */
+ if (widget->parent != NULL && GTK_IS_FIXED (widget->parent))
+ gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y);
}
gdk_threads_leave ();
diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
index 77021ceec..13473a9a8 100644
--- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
+++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
@@ -213,7 +213,7 @@ Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeBounds
gtk_widget_set_size_request (gtk_bin_get_child (GTK_BIN (widget)),
width, height);
- if (widget->parent != NULL)
+ if (widget->parent != NULL && GTK_IS_FIXED (widget->parent))
gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y);
}