Xdmx: fix input driver initialization code paths
Problem: Xdmx exit with error "(Fatal Error) dmx: Unknown input argument: " if local input driver is specified (example: -input local,usb-kbd,usb-mou). Cause: code block for remote input drivers is placed in code path common for all drivers. Fix: affected code block moved to remote input driver code path part. Signed-off-by: Raimonds Cicans <ray@apollo.lv> Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
		
							parent
							
								
									cbf09619f2
								
							
						
					
					
						commit
						b75835a435
					
				|  | @ -970,41 +970,6 @@ dmxInputInit(DMXInputInfo * dmxInput) | |||
| 
 | ||||
|     a = dmxArgParse(dmxInput->name); | ||||
| 
 | ||||
|     for (i = 1; i < dmxArgC(a); i++) { | ||||
|         switch (hasXkb) { | ||||
|         case 1: | ||||
|             dmxInput->keycodes = xstrdup(dmxArgV(a, i)); | ||||
|             ++hasXkb; | ||||
|             break; | ||||
|         case 2: | ||||
|             dmxInput->symbols = xstrdup(dmxArgV(a, i)); | ||||
|             ++hasXkb; | ||||
|             break; | ||||
|         case 3: | ||||
|             dmxInput->geometry = xstrdup(dmxArgV(a, i)); | ||||
|             hasXkb = 0; | ||||
|             break; | ||||
|         case 0: | ||||
|             if (!strcmp(dmxArgV(a, i), "noxi")) | ||||
|                 doXI = 0; | ||||
|             else if (!strcmp(dmxArgV(a, i), "xi")) | ||||
|                 doXI = 1; | ||||
|             else if (!strcmp(dmxArgV(a, i), "console")) | ||||
|                 forceConsole = 1; | ||||
|             else if (!strcmp(dmxArgV(a, i), "noconsole")) | ||||
|                 forceConsole = 0; | ||||
|             else if (!strcmp(dmxArgV(a, i), "windows")) | ||||
|                 doWindows = 1; | ||||
|             else if (!strcmp(dmxArgV(a, i), "nowindows")) | ||||
|                 doWindows = 0; | ||||
|             else if (!strcmp(dmxArgV(a, i), "xkb")) | ||||
|                 hasXkb = 1; | ||||
|             else { | ||||
|                 dmxLog(dmxFatal, "Unknown input argument: %s\n", dmxArgV(a, i)); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     name = dmxArgV(a, 0); | ||||
| 
 | ||||
|     if (!strcmp(name, "local")) { | ||||
|  | @ -1016,6 +981,41 @@ dmxInputInit(DMXInputInfo * dmxInput) | |||
|         dmxLogInput(dmxInput, "Using dummy input\n"); | ||||
|     } | ||||
|     else { | ||||
|         for (i = 1; i < dmxArgC(a); i++) { | ||||
|             switch (hasXkb) { | ||||
|             case 1: | ||||
|                 dmxInput->keycodes = xstrdup(dmxArgV(a, i)); | ||||
|                 ++hasXkb; | ||||
|                 break; | ||||
|             case 2: | ||||
|                 dmxInput->symbols = xstrdup(dmxArgV(a, i)); | ||||
|                 ++hasXkb; | ||||
|                 break; | ||||
|             case 3: | ||||
|                 dmxInput->geometry = xstrdup(dmxArgV(a, i)); | ||||
|                 hasXkb = 0; | ||||
|                 break; | ||||
|             case 0: | ||||
|                 if (!strcmp(dmxArgV(a, i), "noxi")) | ||||
|                     doXI = 0; | ||||
|                 else if (!strcmp(dmxArgV(a, i), "xi")) | ||||
|                     doXI = 1; | ||||
|                 else if (!strcmp(dmxArgV(a, i), "console")) | ||||
|                     forceConsole = 1; | ||||
|                 else if (!strcmp(dmxArgV(a, i), "noconsole")) | ||||
|                     forceConsole = 0; | ||||
|                 else if (!strcmp(dmxArgV(a, i), "windows")) | ||||
|                     doWindows = 1; | ||||
|                 else if (!strcmp(dmxArgV(a, i), "nowindows")) | ||||
|                     doWindows = 0; | ||||
|                 else if (!strcmp(dmxArgV(a, i), "xkb")) | ||||
|                     hasXkb = 1; | ||||
|                 else { | ||||
|                     dmxLog(dmxFatal, "Unknown input argument: %s\n", dmxArgV(a, i)); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         int found; | ||||
| 
 | ||||
|         for (found = 0, i = 0; i < dmxNumScreens; i++) { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue