diff options
author | andreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-26 03:44:38 +0000 |
---|---|---|
committer | andreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-26 03:44:38 +0000 |
commit | 4f72bf3266ef5cc259a89d9ffe7a8a44bf06890d (patch) | |
tree | ba85060c1345d035e7dba23afbe33feb8bbaafce /libjava | |
parent | 672b9f248c8967705c30f2f135eb53e59afd93a9 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c | 17 |
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); } |