From 034000b0f18878e37e5dcf6bfb4cbacd85c16c76 Mon Sep 17 00:00:00 2001 From: Corey C Date: Tue, 12 Mar 2013 17:25:15 -0400 Subject: [PATCH] wfreerdp-server: error handling improvements for mirror driver --- server/Windows/wf_mirage.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/server/Windows/wf_mirage.c b/server/Windows/wf_mirage.c index a29b3bea4..8df1689f7 100644 --- a/server/Windows/wf_mirage.c +++ b/server/Windows/wf_mirage.c @@ -298,10 +298,29 @@ void wf_mirror_driver_activate(wfInfo* wfi) { printf("Activating Mirror Driver\n"); - wf_mirror_driver_find_display_device(wfi); - wf_mirror_driver_display_device_attach(wfi, 1); - wf_mirror_driver_update(wfi, FALSE); - wf_mirror_driver_map_memory(wfi); + if (wf_mirror_driver_find_display_device(wfi) == FALSE) + { + printf("Could not find dfmirage mirror driver! Is it installed?\n"); + return; + } + + if (wf_mirror_driver_display_device_attach(wfi, 1) == FALSE) + { + printf("Could not attach display device!\n"); + return; + } + + if (wf_mirror_driver_update(wfi, FALSE) == FALSE) + { + printf("could not update system with new display settings!\n"); + return; + } + + if (wf_mirror_driver_map_memory(wfi) == FALSE) + { + printf("Unable to map memory for mirror driver!\n"); + return; + } wfi->mirrorDriverActive = TRUE; } }