prevent an infinite loop if try to use focusmon() with all monitors disabled
This commit is contained in:
		
							
								
								
									
										8
									
								
								dwl.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								dwl.c
									
									
									
									
									
								
							| @@ -1192,9 +1192,11 @@ focusclient(Client *c, int lift) | ||||
| void | ||||
| focusmon(const Arg *arg) | ||||
| { | ||||
| 	do | ||||
| 		selmon = dirtomon(arg->i); | ||||
| 	while (!selmon->wlr_output->enabled); | ||||
| 	int i = 0, nmons = wl_list_length(&mons); | ||||
| 	if (nmons) | ||||
| 		do /* don't switch to disabled mons */ | ||||
| 			selmon = dirtomon(arg->i); | ||||
| 		while (!selmon->wlr_output->enabled && i++ < nmons); | ||||
| 	focusclient(focustop(selmon), 1); | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user