aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/interface-ncurses.h
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2013-02-21 21:49:19 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2013-02-22 01:18:06 +0100
commit5611d53c8c5ecf586233636d6090ce7e47644e04 (patch)
tree3e14daa1cb71778d5f54a3714eaba32fdc226eae /src/interface-ncurses.h
parent8f0e72f0fedbfc8e4f26bff93472d0c1d59247df (diff)
fixed global object initialization order issue
* Scintilla is now initialized from main() using Interface::main() * Scintilla initialization depends on initialization of objects in the global namespace (otherwise the Lexer catalogue may not be filled properly and lexing may not work). Lexer modules were initialized after SciTECO interface initialization * merged Scintilla initialization (Interface::main()) with interface option parsing
Diffstat (limited to 'src/interface-ncurses.h')
-rw-r--r--src/interface-ncurses.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/interface-ncurses.h b/src/interface-ncurses.h
index dffa892..86c193b 100644
--- a/src/interface-ncurses.h
+++ b/src/interface-ncurses.h
@@ -52,14 +52,20 @@ extern class InterfaceNCurses : public Interface {
~Popup();
} popup;
- void init_screen(void);
- void resize_all_windows(void);
- void draw_info(void);
-
public:
- InterfaceNCurses();
+ InterfaceNCurses() : screen(NULL),
+ screen_tty(NULL),
+ sci(NULL),
+ info_window(NULL),
+ info_current(NULL),
+ sci_window(NULL),
+ msg_window(NULL),
+ cmdline_window(NULL),
+ cmdline_current(NULL) {}
~InterfaceNCurses();
+ void main(int &argc, char **&argv);
+
void vmsg(MessageType type, const gchar *fmt, va_list ap);
void msg_clear(void);
@@ -81,6 +87,11 @@ public:
/* main entry point */
void event_loop(void);
+
+private:
+ void init_screen(void);
+ void resize_all_windows(void);
+ void draw_info(void);
} interface;
#endif