X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2FWM%2Fmain.c;h=b6fcf497a48817c1a7539ed55d113dbd76347bf1;hb=7c00f2f9205aeb803f0499c9e88c98048830bea6;hp=0b63a183b33ea90a3e09c4ef303d450de674c072;hpb=0b1cdd6b52e410ad8784eaf37c24141e947d1091;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/WM/main.c b/Usermode/Applications/axwin3_src/WM/main.c index 0b63a183..b6fcf497 100644 --- a/Usermode/Applications/axwin3_src/WM/main.c +++ b/Usermode/Applications/axwin3_src/WM/main.c @@ -11,9 +11,12 @@ #include // === IMPORTS === -extern void WM_Update(void); extern void Video_Setup(void); +extern void WM_Initialise(void); +extern int Renderer_Menu_Init(void); extern int Renderer_Widget_Init(void); +extern int Renderer_Background_Init(void); +extern void WM_Update(void); // === PROTOTYPES === void ParseCommandline(int argc, char **argv); @@ -50,12 +53,13 @@ int main(int argc, char *argv[]) } Video_Setup(); -// Interface_Init(); IPC_Init(); Input_Init(); + Renderer_Menu_Init(); Renderer_Widget_Init(); -// WM_Update(); + Renderer_Background_Init(); + WM_Initialise(); // Spawn interface root if( clone(CLONE_VM, 0) == 0 ) @@ -64,8 +68,10 @@ int main(int argc, char *argv[]) char server_info[] = "AXWIN3_SERVER=00000"; char *envp[] = {server_info, NULL}; char *argv[] = {csInterfaceApp, NULL}; + _SysDebug("server_tid = %i, &server_tid = %p", server_tid, &server_tid); sprintf(server_info, "AXWIN3_SERVER=%i", server_tid); execve(csInterfaceApp, argv, envp); + exit(1); } // Main Loop @@ -75,11 +81,13 @@ int main(int argc, char *argv[]) int nfds = 0; FD_ZERO(&fds); + WM_Update(); + Input_FillSelect(&nfds, &fds); IPC_FillSelect(&nfds, &fds); nfds ++; - if( select(nfds, &fds, NULL, NULL, NULL) == -1 ) { + if( _SysSelect(nfds, &fds, NULL, NULL, NULL, THREAD_EVENT_IPCMSG) == -1 ) { _SysDebug("ERROR: select() returned -1"); return -1; }