- net=(t_net *)allineed;
- display=(t_display *)(allineed+sizeof(t_net));
- input=(t_input *)(allineed+sizeof(t_net)+sizeof(t_display));
-
- switch(input->content[0]) {
- case GUI_INFO:
- send_and_wait_for_answer(net,display);
- break;
- case GUI_ADDJOB:
- send_job(net,input,display);
- break;
- case GUI_QUIT:
- /* stop everything */
- event_math(0,event,READ,REMOVE);
- network_shutdown(net);
- display_shutdown(display);
- input_shutdown(input);
- event_stop(event);
- return 2;
- default:
- display_new_line(display,"unknown gui command");
- break;
+ memcpy(addr,allineed,3*sizeof(unsigned int));
+ net=(t_net *)addr[0];
+ display=(t_display *)addr[1];
+ input=(t_input *)addr[2];
+
+ input_get_event(input,get_whatever,display);
+
+ /* if there was a new line! */
+ if(input->c_count==0) {
+ switch(input->content[0]) {
+ case GUI_INFO:
+ send_and_wait_for_answer(net,display,input);
+ break;
+ case GUI_ADDJOB:
+ send_job(net,input,display);
+ break;
+ case GUI_QUIT:
+ /* stop everything */
+ event_math(0,event,READ,REMOVE);
+ send_quit(net);
+ network_shutdown(net);
+ input_shutdown(input);
+ display_shutdown(display);
+ event_stop(event);
+ return 2;
+ default:
+ display_new_line(display,input,"unknown gui command");
+ break;
+ }