summaryrefslogtreecommitdiff
path: root/src/sna/sna_driver.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-06-29 13:12:52 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-06-29 13:12:52 +0100
commiteae5e1275cd11703de2bca67dacd1d57129b561a (patch)
tree76600594f5dad19c9c42a016016ca7aa7833fa00 /src/sna/sna_driver.c
parent15a0761cad862a5d73bbc2af81bc5267e66c307e (diff)
sna: Install the ModeSet handler as the base handler
This way we can safely ignore it across server regen. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_driver.c')
-rw-r--r--src/sna/sna_driver.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
index 3b3b93ff..047b8654 100644
--- a/src/sna/sna_driver.c
+++ b/src/sna/sna_driver.c
@@ -806,12 +806,6 @@ static void sna_mode_set(ScrnInfoPtr scrn)
struct sna *sna = to_sna(scrn);
DBG(("%s\n", __FUNCTION__));
-
- if (sna->ModeSet) {
- scrn->ModeSet = sna->ModeSet;
- scrn->ModeSet(scrn);
- scrn->ModeSet = sna_mode_set;
- }
sna_mode_update(sna);
}
@@ -933,9 +927,6 @@ sna_screen_init(SCREEN_INIT_ARGS_DECL)
screen->CloseScreen = sna_close_screen;
screen->CreateScreenResources = sna_create_screen_resources;
- sna->ModeSet = scrn->ModeSet;
- scrn->ModeSet = sna_mode_set;
-
if (!xf86CrtcScreenInit(screen))
return FALSE;
@@ -1137,6 +1128,8 @@ Bool sna_init_scrn(ScrnInfoPtr scrn, int entity_num)
scrn->ValidMode = sna_valid_mode;
scrn->PMEvent = sna_pm_event;
+ scrn->ModeSet = sna_mode_set;
+
xf86SetEntitySharable(scrn->entityList[0]);
entity = xf86GetEntityInfo(entity_num);