diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/FbTk/GContext.cc | 20 | ||||
-rw-r--r-- | src/FbTk/GContext.hh | 4 |
2 files changed, 15 insertions, 9 deletions
diff --git a/src/FbTk/GContext.cc b/src/FbTk/GContext.cc index e0f66a4..dae8fac 100644 --- a/src/FbTk/GContext.cc +++ b/src/FbTk/GContext.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: GContext.cc,v 1.5 2003/11/28 22:50:55 fluxgen Exp $ | 22 | // $Id: GContext.cc,v 1.6 2004/01/09 01:19:48 fluxgen Exp $ |
23 | 23 | ||
24 | #include "GContext.hh" | 24 | #include "GContext.hh" |
25 | 25 | ||
@@ -31,27 +31,33 @@ | |||
31 | 31 | ||
32 | namespace FbTk { | 32 | namespace FbTk { |
33 | 33 | ||
34 | Display *GContext::m_display = 0; | ||
35 | |||
34 | GContext::GContext(const FbTk::FbDrawable &drawable): | 36 | GContext::GContext(const FbTk::FbDrawable &drawable): |
35 | m_display(FbTk::App::instance()->display()), | 37 | m_gc(XCreateGC(m_display != 0 ? m_display : FbTk::App::instance()->display(), |
36 | m_gc(XCreateGC(m_display, | ||
37 | drawable.drawable(), | 38 | drawable.drawable(), |
38 | 0, 0)) { | 39 | 0, 0)) { |
40 | if (m_display == 0) | ||
41 | m_display = FbTk::App::instance()->display(); | ||
42 | |||
39 | setGraphicsExposure(false); | 43 | setGraphicsExposure(false); |
40 | } | 44 | } |
41 | 45 | ||
42 | GContext::GContext(Drawable drawable): | 46 | GContext::GContext(Drawable drawable): |
43 | m_display(FbTk::App::instance()->display()), | 47 | m_gc(XCreateGC(m_display != 0 ? m_display : FbTk::App::instance()->display(), |
44 | m_gc(XCreateGC(m_display, | ||
45 | drawable, | 48 | drawable, |
46 | 0, 0)) { | 49 | 0, 0)) { |
50 | if (m_display == 0) | ||
51 | m_display = FbTk::App::instance()->display(); | ||
47 | setGraphicsExposure(false); | 52 | setGraphicsExposure(false); |
48 | } | 53 | } |
49 | 54 | ||
50 | GContext::GContext(Drawable d, const GContext &gc): | 55 | GContext::GContext(Drawable d, const GContext &gc): |
51 | m_display(FbTk::App::instance()->display()), | 56 | m_gc(XCreateGC(m_display != 0 ? m_display : FbTk::App::instance()->display(), |
52 | m_gc(XCreateGC(m_display, | ||
53 | d, | 57 | d, |
54 | 0, 0)) { | 58 | 0, 0)) { |
59 | if (m_display == 0) | ||
60 | m_display = FbTk::App::instance()->display(); | ||
55 | setGraphicsExposure(false); | 61 | setGraphicsExposure(false); |
56 | copy(gc); | 62 | copy(gc); |
57 | } | 63 | } |
diff --git a/src/FbTk/GContext.hh b/src/FbTk/GContext.hh index 94aec3e..462ea32 100644 --- a/src/FbTk/GContext.hh +++ b/src/FbTk/GContext.hh | |||
@@ -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: GContext.hh,v 1.6 2003/12/16 17:06:51 fluxgen Exp $ | 22 | // $Id: GContext.hh,v 1.7 2004/01/09 01:19:48 fluxgen Exp $ |
23 | 23 | ||
24 | #ifndef FBTK_GCONTEXT_HH | 24 | #ifndef FBTK_GCONTEXT_HH |
25 | #define FBTK_GCONTEXT_HH | 25 | #define FBTK_GCONTEXT_HH |
@@ -98,7 +98,7 @@ public: | |||
98 | private: | 98 | private: |
99 | GContext(const GContext &cont); | 99 | GContext(const GContext &cont); |
100 | 100 | ||
101 | Display *m_display; // worth caching | 101 | static Display *m_display; // worth caching |
102 | GC m_gc; | 102 | GC m_gc; |
103 | }; | 103 | }; |
104 | 104 | ||