diff options
author | nyamatongwe <devnull@localhost> | 2000-03-08 23:43:13 +0000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2000-03-08 23:43:13 +0000 |
commit | a90e5d9b99d255dd72f8e825d65f566f7b1fc02c (patch) | |
tree | 1bfa2005a3c61ad5ce8f01ec34431f5d40d22337 | |
parent | 03489a78662ea044a75cbd441af46a6dc9023fc4 (diff) | |
download | scintilla-mirror-a90e5d9b99d255dd72f8e825d65f566f7b1fc02c.tar.gz |
Handles null font.
-rw-r--r-- | gtk/PlatGTK.cxx | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx index 5da2a3a94..15d3d160b 100644 --- a/gtk/PlatGTK.cxx +++ b/gtk/PlatGTK.cxx @@ -399,7 +399,10 @@ int Surface::WidthText(Font &font_, const char *s, int len) { } int Surface::WidthChar(Font &font_, char ch) { - return gdk_char_width(font_.id, ch); + if (font_.id) + return gdk_char_width(font_.id, ch); + else + return 1; } // Three possible strategies for determining ascent and descent of font: @@ -418,6 +421,8 @@ const char sizeString[]= "`~!@#$%^&*()-_=+\\|[]{};:\"\'<,>.?/1234567890" "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; int Surface::Ascent(Font &font_) { + if (!font_.id) + return 1; #ifdef FAST_WAY return font_.id->ascent; #else @@ -434,6 +439,8 @@ int Surface::Ascent(Font &font_) { } int Surface::Descent(Font &font_) { + if (!font_.id) + return 1; #ifdef FAST_WAY return font_.id->descent; #else @@ -462,7 +469,10 @@ int Surface::Height(Font &font_) { } int Surface::AverageCharWidth(Font &font_) { - return gdk_char_width(font_.id, 'n'); + if (font_.id) + return gdk_char_width(font_.id, 'n'); + else + return 1; } int Surface::SetPalette(Palette *, bool) { |