summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2002-10-15 16:34:14 (GMT)
committerfluxgen <fluxgen>2002-10-15 16:34:14 (GMT)
commit04d58f1c2db4a192cd034f11876afab3267a0eb1 (patch)
tree63d778dc8e5f42999ed7c55eaaad906e9ff0e0d9
parenta295efad66fc508a772732f74183d8fa66086f8a (diff)
downloadfluxbox_lack-04d58f1c2db4a192cd034f11876afab3267a0eb1.zip
fluxbox_lack-04d58f1c2db4a192cd034f11876afab3267a0eb1.tar.bz2
fallback on fixed if the font before was loaded but the new one couldnt load it
-rw-r--r--src/Font.cc21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/Font.cc b/src/Font.cc
index cb169ac..4d03345 100644
--- a/src/Font.cc
+++ b/src/Font.cc
@@ -19,7 +19,7 @@
19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20// DEALINGS IN THE SOFTWARE. 20// DEALINGS IN THE SOFTWARE.
21 21
22//$Id: Font.cc,v 1.13 2002/10/15 10:56:49 fluxgen Exp $ 22//$Id: Font.cc,v 1.14 2002/10/15 16:34:14 fluxgen Exp $
23 23
24 24
25#include "Font.hh" 25#include "Font.hh"
@@ -38,6 +38,8 @@
38#include "XFontImp.hh" 38#include "XFontImp.hh"
39#include "XmbFontImp.hh" 39#include "XmbFontImp.hh"
40 40
41#include "StringUtil.hh"
42
41//use gnu extensions 43//use gnu extensions
42#ifndef _GNU_SOURCE 44#ifndef _GNU_SOURCE
43#define _GNU_SOURCE 45#define _GNU_SOURCE
@@ -47,18 +49,16 @@
47#define __USE_GNU 49#define __USE_GNU
48#endif //__USE_GNU 50#endif //__USE_GNU
49 51
50#include <cstdarg>
51#include <iostream> 52#include <iostream>
52#include <cassert> 53#include <cstring>
53#include <string> 54#include <cstdlib>
54#include <cstdio> 55using namespace std;
55#include <string.h>
56 56
57#ifdef HAVE_SETLOCALE 57#ifdef HAVE_SETLOCALE
58#include <locale.h> 58#include <locale.h>
59#endif //HAVE_SETLOCALE 59#endif //HAVE_SETLOCALE
60 60
61#include "StringUtil.hh" 61
62 62
63namespace FbTk { 63namespace FbTk {
64 64
@@ -109,7 +109,7 @@ Font::~Font() {
109} 109}
110 110
111void Font::setAntialias(bool flag) { 111void Font::setAntialias(bool flag) {
112 112 bool loaded = m_fontimp->loaded();
113#ifdef USE_XFT 113#ifdef USE_XFT
114 if (flag && !isAntialias()) { 114 if (flag && !isAntialias()) {
115 m_fontimp = std::auto_ptr<FontImp>(new XftFontImp(m_fontstr.c_str())); 115 m_fontimp = std::auto_ptr<FontImp>(new XftFontImp(m_fontstr.c_str()));
@@ -123,6 +123,11 @@ void Font::setAntialias(bool flag) {
123 } 123 }
124 } 124 }
125 125
126 if (m_fontimp->loaded() != loaded) { // if the new font failed to load, fall back to 'fixed'
127 if (!m_fontimp->load("fixed")) // if that failes too, output warning
128 cerr<<"Warning: can't load fallback font 'fixed'."<<endl;
129 }
130
126 m_antialias = flag; 131 m_antialias = flag;
127} 132}
128 133