-Fix parsing of comments in VariantParser, fixes #3175
This commit is contained in:
parent
b60a3e7202
commit
586e482a98
3 changed files with 57 additions and 1 deletions
|
@ -120,6 +120,20 @@ Error VariantParser::get_token(Stream *p_stream, Token& r_token, int &line, Stri
|
||||||
r_token.type=TK_COLON;
|
r_token.type=TK_COLON;
|
||||||
return OK;
|
return OK;
|
||||||
};
|
};
|
||||||
|
case ';': {
|
||||||
|
|
||||||
|
while(true) {
|
||||||
|
CharType ch=p_stream->get_char();
|
||||||
|
if (p_stream->is_eof()) {
|
||||||
|
r_token.type=TK_EOF;
|
||||||
|
return OK;
|
||||||
|
}
|
||||||
|
if (ch=='\n')
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
};
|
||||||
case ',': {
|
case ',': {
|
||||||
|
|
||||||
r_token.type=TK_COMMA;
|
r_token.type=TK_COMMA;
|
||||||
|
@ -1591,6 +1605,18 @@ Error VariantParser::parse_tag_assign_eof(Stream *p_stream, int &line, String &r
|
||||||
if (p_stream->is_eof())
|
if (p_stream->is_eof())
|
||||||
return ERR_FILE_EOF;
|
return ERR_FILE_EOF;
|
||||||
|
|
||||||
|
if (c==';') { //comment
|
||||||
|
while(true) {
|
||||||
|
CharType ch=p_stream->get_char();
|
||||||
|
if (p_stream->is_eof()) {
|
||||||
|
return ERR_FILE_EOF;
|
||||||
|
}
|
||||||
|
if (ch=='\n')
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (c=='[' && what.length()==0) {
|
if (c=='[' && what.length()==0) {
|
||||||
//it's a tag!
|
//it's a tag!
|
||||||
p_stream->saved='['; //go back one
|
p_stream->saved='['; //go back one
|
||||||
|
|
|
@ -1056,6 +1056,33 @@ void OS_OSX::initialize(const VideoMode& p_desired,int p_video_driver,int p_audi
|
||||||
void OS_OSX::finalize() {
|
void OS_OSX::finalize() {
|
||||||
|
|
||||||
CFNotificationCenterRemoveObserver(CFNotificationCenterGetDistributedCenter(), NULL, kTISNotifySelectedKeyboardInputSourceChanged, NULL);
|
CFNotificationCenterRemoveObserver(CFNotificationCenterGetDistributedCenter(), NULL, kTISNotifySelectedKeyboardInputSourceChanged, NULL);
|
||||||
|
delete_main_loop();
|
||||||
|
|
||||||
|
spatial_sound_server->finish();
|
||||||
|
memdelete(spatial_sound_server);
|
||||||
|
spatial_sound_2d_server->finish();
|
||||||
|
memdelete(spatial_sound_2d_server);
|
||||||
|
|
||||||
|
|
||||||
|
memdelete(input);
|
||||||
|
|
||||||
|
memdelete(sample_manager);
|
||||||
|
|
||||||
|
audio_server->finish();
|
||||||
|
memdelete(audio_server);
|
||||||
|
|
||||||
|
visual_server->finish();
|
||||||
|
memdelete(visual_server);
|
||||||
|
memdelete(rasterizer);
|
||||||
|
|
||||||
|
physics_server->finish();
|
||||||
|
memdelete(physics_server);
|
||||||
|
|
||||||
|
physics_2d_server->finish();
|
||||||
|
memdelete(physics_2d_server);
|
||||||
|
|
||||||
|
screens.clear();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1068,6 +1095,8 @@ void OS_OSX::set_main_loop( MainLoop * p_main_loop ) {
|
||||||
|
|
||||||
void OS_OSX::delete_main_loop() {
|
void OS_OSX::delete_main_loop() {
|
||||||
|
|
||||||
|
if (!main_loop)
|
||||||
|
return;
|
||||||
memdelete(main_loop);
|
memdelete(main_loop);
|
||||||
main_loop=NULL;
|
main_loop=NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -447,6 +447,8 @@ void OS_X11::finalize() {
|
||||||
// memdelete(debugger_connection_console);
|
// memdelete(debugger_connection_console);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
memdelete(input);
|
||||||
|
|
||||||
memdelete(sample_manager);
|
memdelete(sample_manager);
|
||||||
|
|
||||||
audio_server->finish();
|
audio_server->finish();
|
||||||
|
@ -464,7 +466,6 @@ void OS_X11::finalize() {
|
||||||
#ifdef JOYDEV_ENABLED
|
#ifdef JOYDEV_ENABLED
|
||||||
memdelete(joystick);
|
memdelete(joystick);
|
||||||
#endif
|
#endif
|
||||||
memdelete(input);
|
|
||||||
|
|
||||||
XUnmapWindow( x11_display, x11_window );
|
XUnmapWindow( x11_display, x11_window );
|
||||||
XDestroyWindow( x11_display, x11_window );
|
XDestroyWindow( x11_display, x11_window );
|
||||||
|
|
Loading…
Reference in a new issue