Commit beaa754
authored
fix stale primary display selection (rustdesk#15460)
* fix stale primary display selection
Signed-off-by: 21pages <sunboeasy@gmail.com>
* fix stale display selection during login and switching
- resolve the primary display from the refreshed login snapshot
- defer display enumeration until authentication succeeds
- read Wayland displays and primary index from the same cache snapshot
- reject stale monitor and camera indices during display switching
Signed-off-by: 21pages <sunboeasy@gmail.com>
* fix inconsistent display snapshots during login
- return displays from the same enumeration used to select the primary
- avoid re-reading the shared display cache after updating it
- use the same converted snapshot during Wayland initialization
Signed-off-by: 21pages <sunboeasy@gmail.com>
* avoid cloning unchanged display snapshots
Signed-off-by: 21pages <sunboeasy@gmail.com>
* fix invalid display subset handling
Signed-off-by: 21pages <sunboeasy@gmail.com>
* minimize code churn in switch_display_to
Signed-off-by: 21pages <sunboeasy@gmail.com>
---------
Signed-off-by: 21pages <sunboeasy@gmail.com>1 parent 929e989 commit beaa754
4 files changed
Lines changed: 143 additions & 85 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
357 | 357 | | |
358 | 358 | | |
359 | 359 | | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
366 | 364 | | |
367 | 365 | | |
368 | | - | |
| 366 | + | |
369 | 367 | | |
370 | 368 | | |
371 | 369 | | |
| |||
381 | 379 | | |
382 | 380 | | |
383 | 381 | | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
389 | 390 | | |
390 | 391 | | |
391 | | - | |
| 392 | + | |
392 | 393 | | |
393 | 394 | | |
394 | 395 | | |
| |||
783 | 784 | | |
784 | 785 | | |
785 | 786 | | |
786 | | - | |
787 | | - | |
| 787 | + | |
788 | 788 | | |
789 | 789 | | |
790 | 790 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
503 | 503 | | |
504 | 504 | | |
505 | 505 | | |
506 | | - | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
507 | 509 | | |
508 | 510 | | |
509 | 511 | | |
| |||
1891 | 1893 | | |
1892 | 1894 | | |
1893 | 1895 | | |
1894 | | - | |
| 1896 | + | |
1895 | 1897 | | |
1896 | 1898 | | |
1897 | 1899 | | |
1898 | 1900 | | |
1899 | 1901 | | |
1900 | 1902 | | |
| 1903 | + | |
| 1904 | + | |
1901 | 1905 | | |
1902 | 1906 | | |
1903 | 1907 | | |
| |||
2006 | 2010 | | |
2007 | 2011 | | |
2008 | 2012 | | |
2009 | | - | |
2010 | | - | |
| 2013 | + | |
| 2014 | + | |
2011 | 2015 | | |
2012 | 2016 | | |
2013 | 2017 | | |
| |||
4150 | 4154 | | |
4151 | 4155 | | |
4152 | 4156 | | |
4153 | | - | |
| 4157 | + | |
| 4158 | + | |
| 4159 | + | |
4154 | 4160 | | |
4155 | 4161 | | |
4156 | 4162 | | |
| |||
4177 | 4183 | | |
4178 | 4184 | | |
4179 | 4185 | | |
| 4186 | + | |
| 4187 | + | |
| 4188 | + | |
| 4189 | + | |
| 4190 | + | |
| 4191 | + | |
| 4192 | + | |
4180 | 4193 | | |
4181 | 4194 | | |
4182 | 4195 | | |
| |||
4185 | 4198 | | |
4186 | 4199 | | |
4187 | 4200 | | |
4188 | | - | |
| 4201 | + | |
| 4202 | + | |
| 4203 | + | |
| 4204 | + | |
| 4205 | + | |
| 4206 | + | |
| 4207 | + | |
| 4208 | + | |
| 4209 | + | |
| 4210 | + | |
| 4211 | + | |
| 4212 | + | |
| 4213 | + | |
4189 | 4214 | | |
4190 | 4215 | | |
4191 | 4216 | | |
4192 | 4217 | | |
4193 | | - | |
4194 | | - | |
4195 | | - | |
4196 | | - | |
4197 | | - | |
4198 | | - | |
4199 | | - | |
| 4218 | + | |
| 4219 | + | |
| 4220 | + | |
| 4221 | + | |
| 4222 | + | |
4200 | 4223 | | |
4201 | 4224 | | |
4202 | 4225 | | |
| |||
4205 | 4228 | | |
4206 | 4229 | | |
4207 | 4230 | | |
| 4231 | + | |
4208 | 4232 | | |
4209 | 4233 | | |
4210 | 4234 | | |
| |||
4231 | 4255 | | |
4232 | 4256 | | |
4233 | 4257 | | |
4234 | | - | |
4235 | | - | |
4236 | | - | |
| 4258 | + | |
| 4259 | + | |
| 4260 | + | |
| 4261 | + | |
| 4262 | + | |
| 4263 | + | |
| 4264 | + | |
| 4265 | + | |
| 4266 | + | |
| 4267 | + | |
| 4268 | + | |
| 4269 | + | |
| 4270 | + | |
| 4271 | + | |
| 4272 | + | |
| 4273 | + | |
| 4274 | + | |
| 4275 | + | |
| 4276 | + | |
| 4277 | + | |
| 4278 | + | |
| 4279 | + | |
| 4280 | + | |
| 4281 | + | |
| 4282 | + | |
| 4283 | + | |
| 4284 | + | |
| 4285 | + | |
| 4286 | + | |
| 4287 | + | |
| 4288 | + | |
| 4289 | + | |
| 4290 | + | |
| 4291 | + | |
| 4292 | + | |
| 4293 | + | |
| 4294 | + | |
| 4295 | + | |
4237 | 4296 | | |
4238 | 4297 | | |
4239 | 4298 | | |
4240 | 4299 | | |
4241 | 4300 | | |
4242 | | - | |
| 4301 | + | |
4243 | 4302 | | |
4244 | 4303 | | |
4245 | 4304 | | |
4246 | 4305 | | |
4247 | 4306 | | |
4248 | 4307 | | |
4249 | | - | |
| 4308 | + | |
4250 | 4309 | | |
4251 | | - | |
| 4310 | + | |
4252 | 4311 | | |
4253 | | - | |
| 4312 | + | |
4254 | 4313 | | |
4255 | 4314 | | |
4256 | 4315 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | 28 | | |
32 | 29 | | |
33 | 30 | | |
| |||
41 | 38 | | |
42 | 39 | | |
43 | 40 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
| 41 | + | |
| 42 | + | |
50 | 43 | | |
51 | 44 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
60 | 49 | | |
61 | 50 | | |
62 | 51 | | |
| |||
304 | 293 | | |
305 | 294 | | |
306 | 295 | | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
307 | 301 | | |
308 | 302 | | |
309 | 303 | | |
| |||
346 | 340 | | |
347 | 341 | | |
348 | 342 | | |
349 | | - | |
| 343 | + | |
| 344 | + | |
350 | 345 | | |
351 | 346 | | |
352 | 347 | | |
| |||
357 | 352 | | |
358 | 353 | | |
359 | 354 | | |
360 | | - | |
| 355 | + | |
| 356 | + | |
361 | 357 | | |
362 | 358 | | |
363 | 359 | | |
364 | | - | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
365 | 365 | | |
366 | 366 | | |
367 | 367 | | |
368 | 368 | | |
369 | 369 | | |
370 | 370 | | |
371 | | - | |
372 | | - | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
373 | 377 | | |
374 | 378 | | |
375 | 379 | | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
385 | 386 | | |
386 | | - | |
387 | | - | |
388 | 387 | | |
389 | 388 | | |
390 | 389 | | |
| |||
486 | 485 | | |
487 | 486 | | |
488 | 487 | | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
0 commit comments