diff options
author | Ray Strode <rstrode@redhat.com> | 2014-05-05 22:00:41 -0400 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2015-01-14 15:20:01 +1000 |
commit | 1ca7fb8466d97cbf4079a8e6d34405954fa8edab (patch) | |
tree | 786388c02828335f8532fd9286be24d644f84ad6 | |
parent | 861160ee85f711fb1fd2fa393a813a5337b699e1 (diff) |
xfree86: some broken code to not fail when removing platform deviceswip/logind-integration
-rw-r--r-- | hw/xfree86/common/xf86platformBus.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c index 15988b8b1..4ceff086c 100644 --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c @@ -560,22 +560,22 @@ xf86platformRemoveDevice(int index) if (found) break; } - if (!found) { - ErrorF("failed to find screen to remove\n"); - goto out; - } - xf86GPUScreens[i]->pScreen->CloseScreen(xf86GPUScreens[i]->pScreen); + if (found) { + xf86GPUScreens[i]->pScreen->CloseScreen(xf86GPUScreens[i]->pScreen); - RemoveGPUScreen(xf86GPUScreens[i]->pScreen); - xf86DeleteScreen(xf86GPUScreens[i]); + RemoveGPUScreen(xf86GPUScreens[i]->pScreen); + xf86DeleteScreen(xf86GPUScreens[i]); + } xf86UnclaimPlatformSlot(&xf86_platform_devices[index], NULL); xf86_remove_platform_device(index); - RRResourcesChanged(xf86Screens[0]->pScreen); - RRTellChanged(xf86Screens[0]->pScreen); + if (found) { + RRResourcesChanged(xf86Screens[0]->pScreen); + RRTellChanged(xf86Screens[0]->pScreen); + } out: return; } |