- fix: Crash when create or open txt files in project.
This commit is contained in:
parent
78f9aa8b3c
commit
6b4bfc3e64
4
NEWS.md
4
NEWS.md
|
@ -1,6 +1,7 @@
|
|||
Red Panda C++ Version 2.12
|
||||
|
||||
- fix: Can't correctly load project's custom compile options, if it contains more than one line contents.
|
||||
- fix: Crash when create or open txt files in project.
|
||||
|
||||
Red Panda C++ Version 2.11
|
||||
|
||||
|
@ -23,6 +24,9 @@ Red Panda C++ Version 2.11
|
|||
- fix: preprocessors is not correctly suggested.
|
||||
- fix: javadoc-style docstring is not correctly suggested
|
||||
- enhancement: Better syntax color for asm files.
|
||||
- enhancement: Add nasm.exe in the gcc distributed with RedPanda-CPP
|
||||
- enhancement: Add assembly templates
|
||||
|
||||
|
||||
Red Panda C++ Version 2.10
|
||||
|
||||
|
|
|
@ -120,7 +120,7 @@ Editor::Editor(QWidget *parent, const QString& filename,
|
|||
}
|
||||
|
||||
if (mProject) {
|
||||
if (syntaxer->language() == QSynedit::ProgrammingLanguage::CPP)
|
||||
if (syntaxer && syntaxer->language() == QSynedit::ProgrammingLanguage::CPP)
|
||||
mParser = mProject->cppParser();
|
||||
} else {
|
||||
initParser();
|
||||
|
@ -4316,7 +4316,7 @@ void Editor::setProject(Project *pProject)
|
|||
return;
|
||||
mProject = pProject;
|
||||
if (mProject) {
|
||||
if (syntaxer()->language() == QSynedit::ProgrammingLanguage::CPP) {
|
||||
if (syntaxer() && syntaxer()->language() == QSynedit::ProgrammingLanguage::CPP) {
|
||||
mParser = mProject->cppParser();
|
||||
if (isVisible()) {
|
||||
if (mParser && mParser->parsing()) {
|
||||
|
|
|
@ -948,6 +948,17 @@ bool Project::assignTemplate(const std::shared_ptr<ProjectTemplate> aTemplate, b
|
|||
cleanPath(dir.absoluteFilePath(templateUnit->Source)),
|
||||
includeTrailingPathDelimiter(this->directory())+target);
|
||||
unit = newUnit(mRootNode, target);
|
||||
|
||||
FileType fileType=getFileType(unit->fileName());
|
||||
if (fileType==FileType::ASM
|
||||
|| isCFile(unit->fileName()) || isHFile(unit->fileName())) {
|
||||
Editor * editor = mEditorList->newEditor(
|
||||
unit->fileName(),
|
||||
unit->encoding()==ENCODING_PROJECT?options().encoding:unit->encoding(),
|
||||
this,
|
||||
false);
|
||||
editor->activate();
|
||||
}
|
||||
} else {
|
||||
QString s;
|
||||
PProjectUnit unit;
|
||||
|
|
|
@ -8,15 +8,13 @@ fmt: db "%s", 10, 0 ; The printf format, "\n",'0'
|
|||
|
||||
section .text:
|
||||
main:
|
||||
push rbp ; align our stack at entry
|
||||
mov rbp, rsp ; use RBP as frame reference
|
||||
sub rsp, 32 ; our 16-byte aligned local storage area
|
||||
|
||||
mov rcx, fmt
|
||||
mov rdx, msg
|
||||
; the x64 calling convention requires you to allocate 32 bytes of shadow space before each call
|
||||
; https://stackoverflow.com/questions/30190132/what-is-the-shadow-space-in-x64-assembly/
|
||||
sub rsp, 32 ; allocate shadow space for call
|
||||
mov rcx, fmt ; first parameter
|
||||
mov rdx, msg ; secodng parameter
|
||||
call printf
|
||||
|
||||
add rsp,32 ; remove shadow space
|
||||
mov eax,0 ; exit code
|
||||
add rsp,32 ; restore stack
|
||||
pop rbp ; restore stack
|
||||
ret
|
||||
ret
|
Loading…
Reference in New Issue