summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2010-02-24 23:17:59 +0100
committerKristian Høgsberg <krh@bitplanet.net>2010-03-16 09:51:08 -0400
commitb8a3be5f34016b745e38cd53825a4e398c6127bc (patch)
treedda6762bf6ea8f1ce90c09dd6655212b4a346570
parent67a8c659f25218904bae64aac6e98e326c90330b (diff)
Add a ConfigNotify hook.
Executed from the ConfigureWindow request, right before sending ConfigureNotify to the clients. This commit breaks the ScreenRec ABI. Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
-rw-r--r--dix/window.c3
-rw-r--r--include/scrnintstr.h10
2 files changed, 13 insertions, 0 deletions
diff --git a/dix/window.c b/dix/window.c
index 2676a546a..c7201df09 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -2303,6 +2303,9 @@ ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client)
return(Success);
ActuallyDoSomething:
+ if (pWin->drawable.pScreen->ConfigNotify)
+ (*pWin->drawable.pScreen->ConfigNotify)(pWin, x, y, w, h, bw, pSib);
+
if (SubStrSend(pWin, pParent))
{
memset(&event, 0, sizeof(xEvent));
diff --git a/include/scrnintstr.h b/include/scrnintstr.h
index ab50e7a32..c42119d0d 100644
--- a/include/scrnintstr.h
+++ b/include/scrnintstr.h
@@ -399,6 +399,15 @@ typedef void (* PostChangeSaveUnderProcPtr)(
WindowPtr /*pLayerWin*/,
WindowPtr /*firstChild*/);
+typedef void (* ConfigNotifyProcPtr)(
+ WindowPtr /*pWin*/,
+ int /*x*/,
+ int /*y*/,
+ int /*w*/,
+ int /*h*/,
+ int /*bw*/,
+ WindowPtr /*pSib*/);
+
typedef void (* MoveWindowProcPtr)(
WindowPtr /*pWin*/,
int /*x*/,
@@ -581,6 +590,7 @@ typedef struct _Screen {
MarkOverlappedWindowsProcPtr MarkOverlappedWindows;
ChangeSaveUnderProcPtr ChangeSaveUnder;
PostChangeSaveUnderProcPtr PostChangeSaveUnder;
+ ConfigNotifyProcPtr ConfigNotify;
MoveWindowProcPtr MoveWindow;
ResizeWindowProcPtr ResizeWindow;
GetLayerWindowProcPtr GetLayerWindow;