X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2FTexture.cc;h=75283a918c7c9113fa6f814274bfd2609fec0e86;hb=987cf7cc40d4ab9c5e895ea2b0c7a77f10a0510f;hp=87825267f2c269e0abcc602a2a150ac344c73dcc;hpb=6e07a64d3306ac26c0cb6bd029356fe1fcee4756;p=chaz%2Fopenbox diff --git a/src/Texture.cc b/src/Texture.cc index 87825267..75283a91 100644 --- a/src/Texture.cc +++ b/src/Texture.cc @@ -46,14 +46,14 @@ using std::string; BTexture::BTexture(const BaseDisplay * const _display, unsigned int _screen, BImageControl* _ctrl) : c(_display, _screen), ct(_display, _screen), - lc(_display, _screen), sc(_display, _screen), t(0), + lc(_display, _screen), sc(_display, _screen), bc(_display, _screen), t(0), dpy(_display), ctrl(_ctrl), scrn(_screen) { } BTexture::BTexture(const string &d, const BaseDisplay * const _display, unsigned int _screen, BImageControl* _ctrl) : c(_display, _screen), ct(_display, _screen), - lc(_display, _screen), sc(_display, _screen), t(0), + lc(_display, _screen), sc(_display, _screen), bc(_display, _screen), t(0), dpy(_display), ctrl(_ctrl), scrn(_screen) { setDescription(d); } @@ -128,14 +128,15 @@ void BTexture::setDescription(const string &d) { if (descr.find("sunken") != string::npos) addTexture(BTexture::Sunken); - else if (descr.find("flatborder") != string::npos) - addTexture(BTexture::FlatBorder); else if (descr.find("flat") != string::npos) addTexture(BTexture::Flat); else addTexture(BTexture::Raised); - if (! (texture() & (BTexture::Flat | BTexture::FlatBorder))) { + if (texture() & BTexture::Flat) { + if (descr.find("border") != string::npos) + addTexture(BTexture::Border); + } else { if (descr.find("bevel2") != string::npos) addTexture(BTexture::Bevel2); else @@ -160,6 +161,7 @@ void BTexture::setDisplay(const BaseDisplay * const _display, ct.setDisplay(_display, _screen); lc.setDisplay(_display, _screen); sc.setDisplay(_display, _screen); + bc.setDisplay(_display, _screen); } @@ -168,6 +170,7 @@ BTexture& BTexture::operator=(const BTexture &tt) { ct = tt.ct; lc = tt.lc; sc = tt.sc; + bc = tt.bc; descr = tt.descr; t = tt.t; dpy = tt.dpy; @@ -181,6 +184,7 @@ BTexture& BTexture::operator=(const BTexture &tt) { Pixmap BTexture::render(const unsigned int width, const unsigned int height, const Pixmap old) { assert(display() != 0); + assert(texture() != BTexture::NoTexture); if (texture() == (BTexture::Flat | BTexture::Solid)) return None;