summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/MenuCreator.cc24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/MenuCreator.cc b/src/MenuCreator.cc
index ef97b63..8507388 100644
--- a/src/MenuCreator.cc
+++ b/src/MenuCreator.cc
@@ -451,16 +451,18 @@ FbTk::Menu *MenuCreator::createFromFile(const string &filename, int screen_numbe
451 if (!parser.isLoaded()) 451 if (!parser.isLoaded())
452 return 0; 452 return 0;
453 453
454 startFile();
454 string label; 455 string label;
455 if (require_begin && !getStart(parser, label, m_stringconvertor)) 456 if (require_begin && !getStart(parser, label, m_stringconvertor)) {
457 endFile();
456 return 0; 458 return 0;
459 }
457 460
458 FbTk::Menu *menu = createMenu(label, screen_number); 461 FbTk::Menu *menu = createMenu(label, screen_number);
459 if (menu != 0) { 462 if (menu != 0)
460 startFile();
461 parseMenu(parser, *menu, m_stringconvertor); 463 parseMenu(parser, *menu, m_stringconvertor);
462 endFile(); 464
463 } 465 endFile();
464 466
465 return menu; 467 return menu;
466} 468}
@@ -474,14 +476,16 @@ bool MenuCreator::createFromFile(const string &filename,
474 if (!parser.isLoaded()) 476 if (!parser.isLoaded())
475 return false; 477 return false;
476 478
479 startFile();
477 string label; 480 string label;
478 if (require_begin && !getStart(parser, label, m_stringconvertor)) 481 if (require_begin && !getStart(parser, label, m_stringconvertor)) {
482 endFile();
479 return false; 483 return false;
484 }
480 485
481 // save menu filename, so we can check if it changes 486 // save menu filename, so we can check if it changes
482 Fluxbox::instance()->saveMenuFilename(real_filename.c_str()); 487 Fluxbox::instance()->saveMenuFilename(real_filename.c_str());
483 488
484 startFile();
485 parseMenu(parser, inject_into, m_stringconvertor); 489 parseMenu(parser, inject_into, m_stringconvertor);
486 endFile(); 490 endFile();
487 491
@@ -499,10 +503,12 @@ bool MenuCreator::createWindowMenuFromFile(const string &filename,
499 503
500 string label; 504 string label;
501 505
502 if (require_begin && !getStart(parser, label, m_stringconvertor)) 506 startFile();
507 if (require_begin && !getStart(parser, label, m_stringconvertor)) {
508 endFile();
503 return false; 509 return false;
510 }
504 511
505 startFile();
506 parseWindowMenu(parser, inject_into, m_stringconvertor); 512 parseWindowMenu(parser, inject_into, m_stringconvertor);
507 endFile(); 513 endFile();
508 514