summaryrefslogtreecommitdiff
path: root/drv/impedscrn.c
diff options
context:
space:
mode:
Diffstat (limited to 'drv/impedscrn.c')
-rw-r--r--drv/impedscrn.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drv/impedscrn.c b/drv/impedscrn.c
index a32297181..803a5339c 100644
--- a/drv/impedscrn.c
+++ b/drv/impedscrn.c
@@ -537,6 +537,13 @@ void impedAttachDrvScreen(ScreenPtr pScreen, DrvScreenPtr pDrvScreen)
imped_screen->gpu[i] = pDrvScreen;
pDrvScreen->pScreen = pScreen;
imped_screen->num_gpu++;
+
+ for (i = 0; i < imped_screen->num_gpu; i++) {
+ if (imped_screen->gpu[i]->ScreenChange) {
+ int action = (imped_screen->gpu[i] == pDrvScreen) ? DRV_ACTION_BIND_SCREEN : DRV_ACTION_SCREEN_NUM_CHANGE;
+ (*imped_screen->gpu[i]->ScreenChange)(pDrvScreen, pScreen, action, imped_screen->num_gpu);
+ }
+ }
}
struct list drvscreen_list;