summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-26 03:44:38 +0000
committerandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-26 03:44:38 +0000
commit4f72bf3266ef5cc259a89d9ffe7a8a44bf06890d (patch)
treeba85060c1345d035e7dba23afbe33feb8bbaafce /libjava
parent672b9f248c8967705c30f2f135eb53e59afd93a9 (diff)
downloadgcc-4f72bf3266ef5cc259a89d9ffe7a8a44bf06890d.tar.gz
2004-06-26 Andreas Tobler <a.tobler@schweiz.ch>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c (init_dpi_conversion_factor): Check for int_dpi < 0 in case gtk-xft-dpi can not calculate the right value. (dpi_changed_cb): Likewise. Mark *pspec as unused. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83698 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c17
2 files changed, 20 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index d6474a0eb22..cf9ae71ee3e 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,10 @@
+2004-06-26 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
+ (init_dpi_conversion_factor): Check for int_dpi < 0 in case gtk-xft-dpi
+ can not calculate the right value.
+ (dpi_changed_cb): Likewise. Mark *pspec as unused.
+
2004-06-24 Bryce McKinlay <mckinlay@redhat.com>
* testsuite/libjava.jacks/jacks.xfail: Remove
diff --git a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
index 817bee75200..fdd42531251 100644
--- a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
+++ b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
@@ -231,9 +231,15 @@ init_dpi_conversion_factor ()
{
int int_dpi;
g_object_get (settings, "gtk-xft-dpi", &int_dpi, NULL);
- dpi_conversion_factor = PANGO_SCALE * 72.0 / (int_dpi / PANGO_SCALE);
+ /* If int_dpi == -1 gtk-xft-dpi returns the default value. So we
+ have to do approximate calculation here. */
+ if (int_dpi < 0)
+ dpi_conversion_factor = PANGO_SCALE * 72.0 / 96.;
+ else
+ dpi_conversion_factor = PANGO_SCALE * 72.0 / (int_dpi / PANGO_SCALE);
+
g_signal_connect (settings, "notify::gtk-xft-dpi",
- G_CALLBACK (dpi_changed_cb), NULL);
+ G_CALLBACK (dpi_changed_cb), NULL);
}
else
/* Approximate. */
@@ -242,9 +248,12 @@ init_dpi_conversion_factor ()
static void
dpi_changed_cb (GtkSettings *settings,
- GParamSpec *pspec)
+ GParamSpec *pspec __attribute__((unused)))
{
int int_dpi;
g_object_get (settings, "gtk-xft-dpi", &int_dpi, NULL);
- dpi_conversion_factor = PANGO_SCALE * 72.0 / (int_dpi / PANGO_SCALE);
+ if (int_dpi < 0)
+ dpi_conversion_factor = PANGO_SCALE * 72.0 / 96.;
+ else
+ dpi_conversion_factor = PANGO_SCALE * 72.0 / (int_dpi / PANGO_SCALE);
}