+ upd: current Scintilla Development

This commit is contained in:
Rainer Kottenhoff 2018-10-18 12:40:05 +02:00
parent 8509c26265
commit dc7d3e09c6
6 changed files with 38 additions and 44 deletions

View File

@ -582,6 +582,10 @@
Markdown lexer fixes highlighting of non-ASCII characters in links.
</li>
<li>
SCI_MARKERADD returns -1 for invalid lines as documented instead of 0.
<a href="https://sourceforge.net/p/scintilla/bugs/2051/">Bug #2051</a>.
</li>
<li>
SciTE on Win32 drops menukey feature, makes Del key work again in find and replace strips
and disables F5 while command running.
<a href="https://sourceforge.net/p/scintilla/bugs/2044/">Bug #2044</a>.

View File

@ -33,7 +33,7 @@ const LexerModule *Catalogue::Find(int language) {
return lm;
}
}
return 0;
return nullptr;
}
const LexerModule *Catalogue::Find(const char *languageName) {
@ -45,7 +45,7 @@ const LexerModule *Catalogue::Find(const char *languageName) {
}
}
}
return 0;
return nullptr;
}
void Catalogue::AddLexerModule(LexerModule *plm) {

View File

@ -322,7 +322,7 @@ int Document::AddMark(Sci::Line line, int markerNum) {
NotifyModified(mh);
return prev;
} else {
return 0;
return -1;
}
}

View File

@ -91,7 +91,7 @@ static bool IsLastStep(const DocModification &mh) {
}
Timer::Timer() :
ticking(false), ticksToWait(0), tickerID(0) {}
ticking(false), ticksToWait(0), tickerID{} {}
Idler::Idler() :
state(false), idlerID(0) {}

View File

@ -65,7 +65,7 @@ LexerLibrary::LexerLibrary(const char *moduleName_) {
// Assign a buffer for the lexer name.
char lexname[100] = "";
GetLexerName(i, lexname, sizeof(lexname));
ExternalLexerModule *lex = new ExternalLexerModule(SCLEX_AUTOMATIC, NULL, lexname, NULL);
ExternalLexerModule *lex = new ExternalLexerModule(SCLEX_AUTOMATIC, nullptr, lexname, nullptr);
// This is storing a second reference to lex in the Catalogue as well as in modules.
// TODO: Should use std::shared_ptr or similar to ensure allocation safety.
Catalogue::AddLexerModule(lex);

View File

@ -75,8 +75,8 @@ ID2D1Factory *pD2DFactory = nullptr;
IDWriteRenderingParams *defaultRenderingParams = nullptr;
IDWriteRenderingParams *customClearTypeRenderingParams = nullptr;
static HMODULE hDLLD2D = NULL;
static HMODULE hDLLDWrite = NULL;
static HMODULE hDLLD2D {};
static HMODULE hDLLDWrite {};
bool LoadD2D() {
static bool triedLoadingD2D = false;
@ -156,7 +156,7 @@ struct FormatAndMetrics {
FormatAndMetrics(HFONT hfont_, int extraFontFlag_, int characterSet_) :
technology(SCWIN_TECH_GDI), hfont(hfont_),
#if defined(USE_D2D)
pTextFormat(0),
pTextFormat(nullptr),
#endif
extraFontFlag(extraFontFlag_), characterSet(characterSet_), yAscent(2), yDescent(1), yInternalLeading(0) {
}
@ -168,7 +168,7 @@ struct FormatAndMetrics {
FLOAT yDescent_,
FLOAT yInternalLeading_) :
technology(SCWIN_TECH_DIRECTWRITE),
hfont(0),
hfont{},
pTextFormat(pTextFormat_),
extraFontFlag(extraFontFlag_),
characterSet(characterSet_),
@ -238,9 +238,9 @@ void SetWindowPointer(HWND hWnd, void *ptr) {
}
CRITICAL_SECTION crPlatformLock;
HINSTANCE hinstPlatformRes = 0;
HINSTANCE hinstPlatformRes {};
HCURSOR reverseArrowCursor = NULL;
HCURSOR reverseArrowCursor {};
FormatAndMetrics *FamFromFontID(void *fid) {
return static_cast<FormatAndMetrics *>(fid);
@ -332,7 +332,7 @@ public:
FontCached *FontCached::first = nullptr;
FontCached::FontCached(const FontParameters &fp) :
next(0), usage(0), size(1.0), hash(0) {
next(nullptr), usage(0), size(1.0), hash(0) {
SetLogFont(lf, fp.faceName, fp.characterSet, fp.size, fp.weight, fp.italic, fp.extraFontFlag);
technology = fp.technology;
hash = HashFont(fp);
@ -414,7 +414,7 @@ void FontCached::Release() {
}
FontID FontCached::FindOrCreate(const FontParameters &fp) {
FontID ret = 0;
FontID ret {};
::EnterCriticalSection(&crPlatformLock);
const int hashFind = HashFont(fp);
for (FontCached *cur=first; cur; cur=cur->next) {
@ -453,7 +453,7 @@ void FontCached::ReleaseId(FontID fid_) {
::LeaveCriticalSection(&crPlatformLock);
}
Font::Font() noexcept : fid(0) {
Font::Font() noexcept : fid{} {
}
Font::~Font() {
@ -520,21 +520,22 @@ public:
typedef VarBuffer<XYPOSITION, stackBufferLength> TextPositions;
class SurfaceGDI : public Surface {
bool unicodeMode;
HDC hdc;
bool hdcOwned;
HPEN pen;
HPEN penOld;
HBRUSH brush;
HBRUSH brushOld;
HFONT font;
HFONT fontOld;
HBITMAP bitmap;
HBITMAP bitmapOld;
int maxWidthMeasure;
int maxLenText;
bool unicodeMode=false;
HDC hdc{};
bool hdcOwned=false;
HPEN pen{};
HPEN penOld{};
HBRUSH brush{};
HBRUSH brushOld{};
HFONT font{};
HFONT fontOld{};
HBITMAP bitmap{};
HBITMAP bitmapOld{};
int maxWidthMeasure = INT_MAX;
// There appears to be a 16 bit string length limit in GDI on NT.
int maxLenText = 65535;
int codePage;
int codePage = 0;
void BrushColor(ColourDesired back);
void SetFont(Font &font_);
@ -595,18 +596,7 @@ public:
void SetBidiR2L(bool bidiR2L_) override;
};
SurfaceGDI::SurfaceGDI() :
unicodeMode(false),
hdc(0), hdcOwned(false),
pen(0), penOld(0),
brush(0), brushOld(0),
font(0), fontOld(0),
bitmap(0), bitmapOld(0) {
maxWidthMeasure = INT_MAX;
// There appears to be a 16 bit string length limit in GDI on NT.
maxLenText = 65535;
codePage = 0;
SurfaceGDI::SurfaceGDI() {
}
SurfaceGDI::~SurfaceGDI() {
@ -1235,7 +1225,7 @@ void SurfaceD2D::SetScale() {
}
bool SurfaceD2D::Initialised() {
return pRenderTarget != 0;
return pRenderTarget != nullptr;
}
HRESULT SurfaceD2D::FlushDrawing() {
@ -1381,7 +1371,7 @@ void SurfaceD2D::Polygon(Point *pts, size_t npts, ColourDesired fore, ColourDesi
if (pRenderTarget) {
ID2D1Factory *pFactory = nullptr;
pRenderTarget->GetFactory(&pFactory);
ID2D1PathGeometry *geometry=0;
ID2D1PathGeometry *geometry=nullptr;
HRESULT hr = pFactory->CreatePathGeometry(&geometry);
if (SUCCEEDED(hr)) {
ID2D1GeometrySink *sink = nullptr;
@ -2533,7 +2523,7 @@ class ListBoxX : public ListBox {
static const Point ImageInset; // Padding around image
public:
ListBoxX() : lineHeight(10), fontCopy(0), technology(0), lb(0), unicodeMode(false),
ListBoxX() : lineHeight(10), fontCopy{}, technology(0), lb{}, unicodeMode(false),
desiredVisibleRows(9), maxItemCharacters(0), aveCharWidth(8),
parent(nullptr), ctrlID(0),
delegate(nullptr),
@ -3341,7 +3331,7 @@ bool ListBoxX_Unregister() {
}
Menu::Menu() noexcept : mid(0) {
Menu::Menu() noexcept : mid{} {
}
void Menu::CreatePopUp() {