summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2014-05-05 22:00:41 -0400
committerPeter Hutterer <peter.hutterer@who-t.net>2015-01-14 15:20:01 +1000
commit1ca7fb8466d97cbf4079a8e6d34405954fa8edab (patch)
tree786388c02828335f8532fd9286be24d644f84ad6
parent861160ee85f711fb1fd2fa393a813a5337b699e1 (diff)
xfree86: some broken code to not fail when removing platform deviceswip/logind-integration
-rw-r--r--hw/xfree86/common/xf86platformBus.c18
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;
}