aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Style.cxx
diff options
context:
space:
mode:
authornyamatongwe <unknown>2000-03-08 13:56:46 +0000
committernyamatongwe <unknown>2000-03-08 13:56:46 +0000
commitfdadfbf88b6ef8abfc4ee6d0d07fa76cd6f79cf1 (patch)
tree5cb35872b66ae9f021ecf762de4b03e416e2d2fe /src/Style.cxx
parent9367896cf64d36c501f545690f68faf544f6c09d (diff)
downloadscintilla-mirror-fdadfbf88b6ef8abfc4ee6d0d07fa76cd6f79cf1.tar.gz
Made work on GTK+/Linux.
Diffstat (limited to 'src/Style.cxx')
-rw-r--r--src/Style.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Style.cxx b/src/Style.cxx
index 271d98fc2..120fd6e95 100644
--- a/src/Style.cxx
+++ b/src/Style.cxx
@@ -10,6 +10,7 @@
#include "Style.h"
Style::Style() {
+ aliasOfDefaultFont = false;
Clear(Colour(0,0,0), Colour(0xff,0xff,0xff),
Platform::DefaultFontSize(), 0,
false, false, false);
@@ -18,11 +19,14 @@ Style::Style() {
Style::~Style() {
if (!aliasOfDefaultFont)
font.Release();
+ aliasOfDefaultFont = false;
}
Style &Style::operator=(const Style &source) {
if (this == &source)
return *this;
+ // Crash:
+ *(char *)0 = 1;
Clear(Colour(0,0,0), Colour(0xff,0xff,0xff),
Platform::DefaultFontSize(), 0,
false, false, false);
@@ -47,6 +51,8 @@ void Style::Clear(Colour fore_, Colour back_, int size_, const char *fontName_,
eolFilled = eolFilled_;
if (!aliasOfDefaultFont)
font.Release();
+ else
+ font.SetID(0);
aliasOfDefaultFont = false;
}
@@ -68,7 +74,8 @@ void Style::Realise(Surface &surface, int zoomLevel, Style *defaultStyle) {
int sizeZoomed = size + zoomLevel;
if (sizeZoomed <= 2) // Hangs if sizeZoomed <= 1
sizeZoomed = 2;
-
+
+ font.Release();
int deviceHeight = (sizeZoomed * surface.LogPixelsY()) / 72;
aliasOfDefaultFont = defaultStyle && EquivalentFontTo(defaultStyle);
if (aliasOfDefaultFont) {