diff options
author | ixce <ixce@d7aaf104-2d23-0410-ae22-9d23157bf5a3> | 2006-11-17 00:36:25 +0000 |
---|---|---|
committer | ixce <ixce@d7aaf104-2d23-0410-ae22-9d23157bf5a3> | 2006-11-17 00:36:25 +0000 |
commit | 742b84efc50e1f21c916193feaa7c1daaeb02d52 (patch) | |
tree | 2c5f0a1dba25367bbb21ffff4fafd64b1bd67e94 /beryl-plugins/src/rotate.c | |
parent | 8cecec47ac63cf3002990bb0a0d3181ed948055f (diff) | |
download | marex-dev-742b84efc50e1f21c916193feaa7c1daaeb02d52.tar.gz marex-dev-742b84efc50e1f21c916193feaa7c1daaeb02d52.tar.bz2 |
beryl-plugins, beryl-vidcap: correctly unhandle actions when plugin get unloaded
git-svn-id: file:///beryl/trunk@1251 d7aaf104-2d23-0410-ae22-9d23157bf5a3
Diffstat (limited to 'beryl-plugins/src/rotate.c')
-rw-r--r-- | beryl-plugins/src/rotate.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/beryl-plugins/src/rotate.c b/beryl-plugins/src/rotate.c index f216baf..237f621 100644 --- a/beryl-plugins/src/rotate.c +++ b/beryl-plugins/src/rotate.c @@ -2870,6 +2870,7 @@ static void rotateFiniScreen (CompPlugin * p, CompScreen * s) { ROTATE_SCREEN (s); + ROTATE_DISPLAY (s->display); UNWRAP (rs, s, preparePaintScreen); UNWRAP (rs, s, donePaintScreen); @@ -2878,6 +2879,28 @@ rotateFiniScreen (CompPlugin * p, CompScreen * s) UNWRAP (rs, s, windowGrabNotify); UNWRAP (rs, s, windowUngrabNotify); + removeScreenAction (s, + &rd->opt[ROTATE_DISPLAY_OPTION_INITIATE].value.action); + removeScreenAction (s, &rd->opt[ROTATE_DISPLAY_OPTION_LEFT].value.action); + removeScreenAction (s, &rd->opt[ROTATE_DISPLAY_OPTION_RIGHT].value.action); + removeScreenAction (s, &rd->opt[ROTATE_DISPLAY_OPTION_UP].value.action); + removeScreenAction (s, &rd->opt[ROTATE_DISPLAY_OPTION_DOWN].value.action); + removeScreenAction (s, + &rd->opt[ROTATE_DISPLAY_OPTION_LEFT_WINDOW].value. + action); + removeScreenAction (s, + &rd->opt[ROTATE_DISPLAY_OPTION_RIGHT_WINDOW].value. + action); + removeScreenAction (s, + &rd->opt[ROTATE_DISPLAY_OPTION_FLIP_LEFT].value.action); + removeScreenAction (s, + &rd->opt[ROTATE_DISPLAY_OPTION_FLIP_RIGHT].value.action); + removeScreenAction (s, + &rd->opt[ROTATE_DISPLAY_OPTION_LEFT_WHEEL].value.action); + removeScreenAction (s, + &rd->opt[ROTATE_DISPLAY_OPTION_RIGHT_WHEEL].value. + action); + free (rs); } |