Executed from the ConfigureWindow request, right before sending
ConfigureNotify to the clients.

This commit breaks the ScreenRec ABI.

Signed-off-by: Francisco Jerez <[email protected]>
---
v6: s/PreConfigureWindow/ConfigNotify/

 dix/window.c         |    4 ++++
 include/scrnintstr.h |   10 ++++++++++
 2 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/dix/window.c b/dix/window.c
index 2676a54..4940e68 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -2303,6 +2303,10 @@ 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 ab50e7a..c42119d 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;
-- 
1.6.4.4

_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to