Author: branden
Date: 2004-06-28 00:08:25 -0500 (Mon, 28 Jun 2004)
New Revision: 1584

Added:
   trunk/debian/xlibs-static-pic.NEWS
Modified:
   trunk/debian/CHANGESETS
   trunk/debian/changelog
   trunk/debian/patches/000_stolen_from_HEAD.diff
   trunk/debian/patches/802_gnu_disable_vt_switching.diff
Log:
Grab client- and server-side implementation of MiscExtPassMessage()
addition to XF86Misc extension (primarily to ease pending merges).  Resync
patch #802.  Add NEWS file to xlibs-static-pic package to note API change.


Modified: trunk/debian/CHANGESETS
===================================================================
--- trunk/debian/CHANGESETS     2004-06-28 00:22:43 UTC (rev 1583)
+++ trunk/debian/CHANGESETS     2004-06-28 05:08:25 UTC (rev 1584)
@@ -77,4 +77,9 @@
 merges.  Resync patch #802.
     1583
 
+Grab client- and server-side implementation of MiscExtPassMessage()
+addition to XF86Misc extension (primarily to ease pending merges).  Resync
+patch #802.  Add NEWS file to xlibs-static-pic package to note API change.
+    1584
+
 vim:set ai et sts=4 sw=4 tw=80:

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog      2004-06-28 00:22:43 UTC (rev 1583)
+++ trunk/debian/changelog      2004-06-28 05:08:25 UTC (rev 1584)
@@ -45,6 +45,10 @@
   * Grab OS/2 updates from XFree86 CVS as of 2003-03-24 to ease pending
     merges.  Resync patch #802.
 
+  * Grab client- and server-side implementation of MiscExtPassMessage()
+    addition to XF86Misc extension (primarily to ease pending merges).  Resync
+    patch #802.  Add NEWS file to xlibs-static-pic package to note API change.
+
   Changes by Fabio Massimo Di Nitto:
 
   * Update French debconf template translations (thanks, Christian Perrier).
@@ -53,7 +57,7 @@
   * Update Brazilian Portuguese debconf template translations (thanks, Andre
     Luis Lopes). (Closes: #255963)
 
- -- Branden Robinson <[EMAIL PROTECTED]>  Sun, 27 Jun 2004 19:18:53 -0500
+ -- Branden Robinson <[EMAIL PROTECTED]>  Sun, 27 Jun 2004 23:51:00 -0500
 
 xfree86 (4.3.0.dfsg.1-5) unstable; urgency=low
 

Modified: trunk/debian/patches/000_stolen_from_HEAD.diff
===================================================================
--- trunk/debian/patches/000_stolen_from_HEAD.diff      2004-06-28 00:22:43 UTC 
(rev 1583)
+++ trunk/debian/patches/000_stolen_from_HEAD.diff      2004-06-28 05:08:25 UTC 
(rev 1584)
@@ -18,6 +18,30 @@
     26. Updates for building on OS/2 (#5650, Frank Giessler).
   [This change not completely applied.]
 
+xc/include/extensions/xf86misc.h @ 3.17
+xc/include/extensions/xf86mscstr.h @ 3.13
+xc/lib/Xxf86misc/XF86Misc.c @ 3.13
+xc/programs/Xserver/Xext/xf86misc.c @ 3.38
+xc/programs/Xserver/Xext/xf86miscproc.h @ 1.6
+xc/programs/Xserver/hw/xfree86/common/xf86MiscExt.c @ 1.13
+xc/programs/Xserver/hw/xfree86/common/xf86str.h @ 1.91
+xc/programs/Xserver/hw/xfree86/loader/xf86sym.c @ 1.231
+    34. Add a new request to the XF86Misc extension that allows a client
+        to send an arbitrary message to the DDX, which in turn can send the
+        message to the driver.  The driver may also send a string back.
+        An example of this is implemented for the radeon driver (#5518,
+        Joe Moss).
+
+xc/programs/Xserver/hw/xfree86/common/xf86Events.c @ 3.149
+xc/programs/Xserver/hw/xfree86/common/xf86str.h @ 1.92
+xc/programs/Xserver/xkb/ddxPrivate.c @ 1.2
+    35. Allow an arbitary message to be sent to the DDX by pressing a key
+        which has the appropriate action definition (#5519, Joe Moss).
+
+xc/programs/Xserver/hw/xfree86/common/xf86MiscExt.c @ 1.14
+  Typo noticed by Joe Moss
+  [Marc Aurele La France]
+
 xc/programs/Xserver/hw/xfree86/drivers/rendition/rendition.c @ 1.51
  981. Disable cuase of SEGV's in rendition driver (Marc La France).
 
@@ -376,13 +400,13 @@
 ===================================================================
 RCS file: /cvs/xc/programs/Xserver/hw/xfree86/common/xf86Events.c,v
 retrieving revision 3.146
-retrieving revision 3.148
-diff -u -r3.146 -r3.148
+retrieving revision 3.149
+diff -u -r3.146 -r3.149
 --- xc/programs/Xserver/hw/xfree86/common/xf86Events.c 20 Feb 2003 04:20:52 
-0000      3.146
-+++ xc/programs/Xserver/hw/xfree86/common/xf86Events.c 25 Mar 2003 04:18:20 
-0000      3.148
++++ xc/programs/Xserver/hw/xfree86/common/xf86Events.c 3 Apr 2003 16:20:23 
-0000       3.149
 @@ -1,4 +1,4 @@
 -/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Events.c,v 3.146 
2003/02/20 04:20:52 dawes Exp $ */
-+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Events.c,v 3.148 
2003/03/25 04:18:20 dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Events.c,v 3.149 
2003/04/03 16:20:23 dawes Exp $ */
  /*
   * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
   *
@@ -406,8 +430,39 @@
      case ACTION_SWITCHSCREEN:
        if (VTSwitchEnabled && !xf86Info.dontVTSwitch && arg) {
            int vtno = *((int *) arg);
-@@ -535,6 +539,17 @@
+@@ -345,6 +349,30 @@
+       }
+       break;
+ #endif
++    case ACTION_MESSAGE:
++        {
++            char *retstr, *message = (char *) arg;
++          ScrnInfoPtr pScr = XF86SCRNINFO(xf86Info.currentScreen);
++
++#ifdef DEBUG
++            ErrorF("ActionMessage: '%s'\n", message);
++#endif
++          /* Okay the message made it to the ddx.  The common layer */
++          /* can check for relevant messages here and react to any  */
++          /* that have a global effect.  For example:               */ 
++          /*                                                        */
++          /* if (!strcmp(message, "foo") {                          */
++          /*      do_foo(); break                                   */
++          /* }                                                      */
++          /*                                                        */
++          /* otherwise fallback to sending a key event message to   */
++          /* the current screen's driver:                           */
++          if (*pScr->HandleMessage) {
++              (void) (*pScr->HandleMessage)(pScr->scrnIndex,
++                      "KeyEventMessage", message, &retstr);
++          }
++        }
++      break;
+     default:
+       break;
      }
+@@ -535,6 +563,17 @@
+     }
  
    /*
 +   * PC keyboards generate separate key codes for
@@ -424,7 +479,7 @@
     * and now get some special keysequences
     */
  
-@@ -829,17 +844,6 @@
+@@ -829,17 +868,6 @@
  #endif
  
    /*
@@ -3689,11 +3744,11 @@
     }
  
 +#endif /* _XF86_FOURCC_H_ */
---- xc/programs/Xserver/hw/xfree86/loader/xf86sym.c~   2004-06-27 
19:14:47.000000000 -0500
-+++ xc/programs/Xserver/hw/xfree86/loader/xf86sym.c    2004-06-27 
19:14:56.000000000 -0500
+--- xc/programs/Xserver/hw/xfree86/loader/xf86sym.c~   2004-06-27 
19:41:06.000000000 -0500
++++ xc/programs/Xserver/hw/xfree86/loader/xf86sym.c    2004-06-27 
19:41:17.000000000 -0500
 @@ -1,4 +1,4 @@
 -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/xf86sym.c,v 1.227.2.1 
2003/03/13 04:10:47 tsi Exp $ */
-+/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/xf86sym.c,v 1.230 
2003/03/25 04:18:22 dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/xf86sym.c,v 1.231 
2003/04/03 16:16:02 dawes Exp $ */
  
  /*
   *
@@ -3744,7 +3799,15 @@
  
     /* xf86xvmc.c */
     SYMFUNC(xf86XvMCScreenInit)
-@@ -1037,14 +1047,18 @@
+@@ -620,6 +628,7 @@
+    SYMFUNC(MiscExtDestroyStruct)
+    SYMFUNC(MiscExtApply)
+    SYMFUNC(MiscExtGetFilePaths)
++   SYMFUNC(MiscExtPassMessage)
+ #endif
+ 
+    /* Misc */
+@@ -1037,14 +1046,18 @@
  # endif
  #endif
  #if defined(__GNUC__)
@@ -4707,3 +4770,450 @@
              key->syms[i]= uTypedCalloc(width, KeySym);
              if (key->syms[i] == NULL)
                  continue;
+Index: xc/include/extensions/xf86misc.h
+===================================================================
+RCS file: /cvs/xc/include/extensions/xf86misc.h,v
+retrieving revision 3.16
+retrieving revision 3.17
+diff -u -r3.16 -r3.17
+--- xc/include/extensions/xf86misc.h   20 Nov 2002 04:04:56 -0000      3.16
++++ xc/include/extensions/xf86misc.h   3 Apr 2003 16:15:46 -0000       3.17
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/include/extensions/xf86misc.h,v 3.16 2002/11/20 04:04:56 
dawes Exp $ */
++/* $XFree86: xc/include/extensions/xf86misc.h,v 3.17 2003/04/03 16:15:46 
dawes Exp $ */
+ 
+ /*
+  * Copyright (c) 1995, 1996  The XFree86 Project, Inc
+@@ -23,6 +23,7 @@
+ #define X_XF86MiscSetGrabKeysState    7
+ #define X_XF86MiscSetClientVersion      8
+ #define X_XF86MiscGetFilePaths                9
++#define X_XF86MiscPassMessage         10
+ 
+ #define XF86MiscNumberEvents          0
+ 
+@@ -156,6 +157,14 @@
+     XF86MiscFilePaths*                /* file paths/locations */
+ );
+ 
++Status XF86MiscPassMessage(
++    Display*                  /* dpy */,
++    int                               /* screen */,
++    const char*                       /* message name/type */,
++    const char*                       /* message contents/value */,
++    char **                   /* returned message */
++);
++
+ _XFUNCPROTOEND
+ 
+ #endif
+Index: xc/include/extensions/xf86mscstr.h
+===================================================================
+RCS file: /cvs/xc/include/extensions/xf86mscstr.h,v
+retrieving revision 3.12
+retrieving revision 3.13
+diff -u -r3.12 -r3.13
+--- xc/include/extensions/xf86mscstr.h 20 Nov 2002 04:04:56 -0000      3.12
++++ xc/include/extensions/xf86mscstr.h 3 Apr 2003 16:15:46 -0000       3.13
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/include/extensions/xf86mscstr.h,v 3.12 2002/11/20 04:04:56 
dawes Exp $ */
++/* $XFree86: xc/include/extensions/xf86mscstr.h,v 3.13 2003/04/03 16:15:46 
dawes Exp $ */
+ 
+ /*
+  * Copyright (c) 1995, 1996  The XFree86 Project, Inc
+@@ -14,7 +14,7 @@
+ #define XF86MISCNAME          "XFree86-Misc"
+ 
+ #define XF86MISC_MAJOR_VERSION        0       /* current version numbers */
+-#define XF86MISC_MINOR_VERSION        7
++#define XF86MISC_MINOR_VERSION        8
+ 
+ typedef struct _XF86MiscQueryVersion {
+     CARD8     reqType;                /* always XF86MiscReqCode */
+@@ -209,4 +209,30 @@
+ } xXF86MiscGetFilePathsReply;
+ #define sz_xXF86MiscGetFilePathsReply 32
+ 
++typedef struct _XF86MiscPassMessage {
++    CARD8     reqType;                /* always XF86MiscReqCode */
++    CARD8     xf86miscReqType;        /* always X_XF86MiscPassMessage */
++    CARD16    length B16;
++    CARD16    typelen B16;
++    CARD16    vallen B16;
++    CARD16      screen B16;
++    CARD16      pad B16;
++} xXF86MiscPassMessageReq;
++#define sz_xXF86MiscPassMessageReq    12
++
++typedef struct {
++    BYTE      type;                   /* X_Reply */
++    BYTE      pad1;
++    CARD16    sequenceNumber B16;
++    CARD32    length B32;
++    CARD16    mesglen B16;
++    CARD16    pad2 B16;
++    CARD32    status B32;
++    CARD32    pad3 B32;
++    CARD32    pad4 B32;
++    CARD32    pad5 B32;
++    CARD32    pad6 B32;
++} xXF86MiscPassMessageReply;
++#define sz_xXF86MiscPassMessageReply  32
++
+ #endif /* _XF86MISCSTR_H_ */
+Index: xc/lib/Xxf86misc/XF86Misc.c
+===================================================================
+RCS file: /cvs/xc/lib/Xxf86misc/XF86Misc.c,v
+retrieving revision 3.12
+retrieving revision 3.13
+diff -u -r3.12 -r3.13
+--- xc/lib/Xxf86misc/XF86Misc.c        20 Nov 2002 04:04:57 -0000      3.12
++++ xc/lib/Xxf86misc/XF86Misc.c        3 Apr 2003 16:15:47 -0000       3.13
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/lib/Xxf86misc/XF86Misc.c,v 3.12 2002/11/20 04:04:57 dawes Exp 
$ */
++/* $XFree86: xc/lib/Xxf86misc/XF86Misc.c,v 3.13 2003/04/03 16:15:47 dawes Exp 
$ */
+ 
+ /*
+  * Copyright (c) 1995, 1996  The XFree86 Project, Inc
+@@ -354,3 +354,53 @@
+     return True;
+ }
+ 
++Status XF86MiscPassMessage(dpy, screen, msgtype, msgval, retmsg)
++    Display* dpy;
++    int screen;
++    const char* msgtype;
++    const char* msgval;
++    char** retmsg;
++{
++    XExtDisplayInfo *info = find_display (dpy);
++    xXF86MiscPassMessageReply rep;
++    xXF86MiscPassMessageReq *req;
++    int len;
++
++    XF86MiscCheckExtension (dpy, info, False);
++
++    LockDisplay(dpy);
++    GetReq(XF86MiscPassMessage, req);
++    req->reqType = info->codes->major_opcode;
++    req->xf86miscReqType = X_XF86MiscPassMessage;
++    req->screen = screen;
++    if ((len = strlen(msgtype))) {
++      req->typelen =  len + 1;
++      len = (req->typelen + 3) >> 2;
++      SetReqLen(req,len,len);
++      Data(dpy, msgtype, req->typelen);
++    }
++    if ((len = strlen(msgval))) {
++      req->vallen =  len + 1;
++      len = (req->vallen + 3) >> 2;
++      SetReqLen(req,len,len);
++      Data(dpy, msgval, req->vallen);
++    }
++    if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
++      UnlockDisplay(dpy);
++      SyncHandle();
++      return BadImplementation;
++    }
++
++    if (rep.mesglen) {
++        if (!(*retmsg = Xcalloc(rep.mesglen + 1, 1))) {
++            _XEatData(dpy, ((rep.mesglen+3) & ~3));
++            return BadAlloc;
++        }
++        _XReadPad(dpy, *retmsg, rep.mesglen);
++    }
++
++    UnlockDisplay(dpy);
++    SyncHandle();
++    return rep.status;
++}
++
+Index: xc/programs/Xserver/Xext/xf86misc.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/Xext/xf86misc.c,v
+retrieving revision 3.37
+retrieving revision 3.38
+diff -u -r3.37 -r3.38
+--- xc/programs/Xserver/Xext/xf86misc.c        20 Nov 2002 04:04:58 -0000      
3.37
++++ xc/programs/Xserver/Xext/xf86misc.c        3 Apr 2003 16:15:47 -0000       
3.38
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/Xext/xf86misc.c,v 3.37 2002/11/20 04:04:58 
dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/Xext/xf86misc.c,v 3.38 2003/04/03 16:15:47 
dawes Exp $ */
+ 
+ /*
+  * Copyright (c) 1995, 1996  The XFree86 Project, Inc
+@@ -84,6 +84,7 @@
+ static DISPATCH_PROC(ProcXF86MiscSetGrabKeysState);
+ static DISPATCH_PROC(ProcXF86MiscSetClientVersion);
+ static DISPATCH_PROC(ProcXF86MiscGetFilePaths);
++static DISPATCH_PROC(ProcXF86MiscPassMessage);
+ #ifdef _XF86MISC_SAVER_COMPAT_
+ static DISPATCH_PROC(ProcXF86MiscGetSaver);
+ static DISPATCH_PROC(ProcXF86MiscSetSaver);
+@@ -97,6 +98,7 @@
+ static DISPATCH_PROC(SProcXF86MiscSetGrabKeysState);
+ static DISPATCH_PROC(SProcXF86MiscSetClientVersion);
+ static DISPATCH_PROC(SProcXF86MiscGetFilePaths);
++static DISPATCH_PROC(SProcXF86MiscPassMessage);
+ #ifdef _XF86MISC_SAVER_COMPAT_
+ static DISPATCH_PROC(SProcXF86MiscGetSaver);
+ static DISPATCH_PROC(SProcXF86MiscSetSaver);
+@@ -555,6 +557,59 @@
+ }
+ 
+ static int
++ProcXF86MiscPassMessage(client)
++    register ClientPtr client;
++{
++    xXF86MiscPassMessageReply rep;
++    char *msgtype, *msgval, *retstr;
++    int retval, size;
++    register int n;
++
++    REQUEST(xXF86MiscPassMessageReq);
++
++    DEBUG_P("XF86MiscPassMessage");
++
++    REQUEST_AT_LEAST_SIZE(xXF86MiscPassMessageReq);
++    size = (sizeof(xXF86MiscPassMessageReq) + 3) >> 2;
++    size+= (stuff->typelen + 3) >> 2;
++    size+= (stuff->vallen  + 3) >> 2;
++    if (client->req_len < size)
++      return BadLength;
++    if (stuff->typelen) {
++      if (!(msgtype = xalloc(stuff->typelen)))
++          return BadAlloc;
++      strncpy(msgtype,(char*)(&stuff[1]),stuff->typelen);
++    } else return BadValue;
++    if (stuff->vallen) {
++      if (!(msgval = xalloc(stuff->vallen)))
++          return BadAlloc;
++      strncpy(msgval,(char*)(&stuff[1] + ((stuff->typelen + 3) & ~3)),
++                      stuff->vallen);
++    } else return BadValue;
++
++    if ((retval= MiscExtPassMessage(stuff->screen,msgtype,msgval,&retstr)) != 
0)
++      return retval;
++
++    rep.type = X_Reply;
++    rep.sequenceNumber = client->sequence;
++    rep.mesglen = (retstr? strlen(retstr): 0);
++    rep.length = (SIZEOF(xXF86MiscPassMessageReply) - SIZEOF(xGenericReply) +
++                ((rep.mesglen + 3) & ~3)) >> 2;
++    
++    if (client->swapped) {
++      swaps(&rep.sequenceNumber, n);
++      swapl(&rep.length, n);
++      swaps(&rep.mesglen, n);
++    }
++    WriteToClient(client, SIZEOF(xXF86MiscPassMessageReply), (char *)&rep);
++    
++    if (rep.mesglen)
++        WriteToClient(client, rep.mesglen, (char *)retstr);
++
++    return (client->noClientException);
++}
++
++static int
+ ProcXF86MiscDispatch (client)
+     register ClientPtr        client;
+ {
+@@ -577,6 +632,8 @@
+               return ProcXF86MiscSetClientVersion(client);
+     case X_XF86MiscGetFilePaths:
+       return ProcXF86MiscGetFilePaths(client);
++    case X_XF86MiscPassMessage:
++      return ProcXF86MiscPassMessage(client);
+     default:
+       if (!xf86GetModInDevEnabled())
+           return miscErrorBase + XF86MiscModInDevDisabled;
+@@ -724,6 +781,17 @@
+ }
+ 
+ static int
++SProcXF86MiscPassMessage(client)
++    ClientPtr client;
++{
++    register int n;
++    REQUEST(xXF86MiscPassMessageReq);
++    swaps(&stuff->length, n);
++    REQUEST_SIZE_MATCH(xXF86MiscPassMessageReq);
++    return ProcXF86MiscPassMessage(client);
++}
++
++static int
+ SProcXF86MiscDispatch (client)
+     register ClientPtr        client;
+ {
+@@ -746,6 +814,8 @@
+       return SProcXF86MiscSetClientVersion(client);
+     case X_XF86MiscGetFilePaths:
+       return SProcXF86MiscGetFilePaths(client);
++    case X_XF86MiscPassMessage:
++      return SProcXF86MiscPassMessage(client);
+     default:
+       if (!xf86GetModInDevEnabled())
+           return miscErrorBase + XF86MiscModInDevDisabled;
+Index: xc/programs/Xserver/Xext/xf86miscproc.h
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/Xext/xf86miscproc.h,v
+retrieving revision 1.5
+retrieving revision 1.6
+diff -u -r1.5 -r1.6
+--- xc/programs/Xserver/Xext/xf86miscproc.h    20 Nov 2002 04:04:58 -0000      
1.5
++++ xc/programs/Xserver/Xext/xf86miscproc.h    3 Apr 2003 16:15:47 -0000       
1.6
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/Xext/xf86miscproc.h,v 1.5 2002/11/20 
04:04:58 dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/Xext/xf86miscproc.h,v 1.6 2003/04/03 
16:15:47 dawes Exp $ */
+ 
+ /* Prototypes for Pointer/Keyboard functions that the DDX must provide */
+ 
+@@ -59,6 +59,8 @@
+ Bool MiscExtSetMouseDevice(pointer mouse, char* device);
+ Bool MiscExtGetFilePaths(const char **configfile, const char **modulepath,
+                        const char **logfile);
++int  MiscExtPassMessage(int scrn, const char *msgtype, const char *msgval,
++                        char **retstr);
+ 
+ #endif
+ 
+Index: xc/programs/Xserver/hw/xfree86/common/xf86MiscExt.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/common/xf86MiscExt.c,v
+retrieving revision 1.11
+retrieving revision 1.14
+diff -u -r1.11 -r1.14
+--- xc/programs/Xserver/hw/xfree86/common/xf86MiscExt.c        20 Nov 2002 
04:04:57 -0000      1.11
++++ xc/programs/Xserver/hw/xfree86/common/xf86MiscExt.c        4 Jun 2003 
19:43:02 -0000       1.14
+@@ -1,13 +1,17 @@
+ /*
+  * Copyright (c) 1999 by The XFree86 Project, Inc.
+  */
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86MiscExt.c,v 1.11 
2002/11/20 04:04:57 dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86MiscExt.c,v 1.14 
2003/06/04 19:43:02 tsi Exp $ */
+ 
+ /*
+  * This file contains the Pointer/Keyboard functions needed by the 
+  * XFree86-Misc extension.
+  */
+ 
++#ifdef __UNIXOS2__
++#define I_NEED_OS2_H
++#endif
++
+ #include "X.h"
+ #include "os.h"
+ #include "xf86.h"
+@@ -608,5 +612,18 @@
+     return TRUE;
+ }
+ 
++int
++MiscExtPassMessage(int scrnIndex, const char *msgtype, const char *msgval,
++                 char **retstr)
++{
++    ScrnInfoPtr pScr = xf86Screens[scrnIndex];
++
++    DEBUG_P("MiscExtPassMessage");
++
++    if (*pScr->HandleMessage == NULL)
++          return BadImplementation;
++    return (*pScr->HandleMessage)(scrnIndex, msgtype, msgval, retstr);
++}
++
+ #endif /* XF86MISC */
+ 
+Index: xc/programs/Xserver/hw/xfree86/common/xf86str.h
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/common/xf86str.h,v
+retrieving revision 1.90
+retrieving revision 1.92
+diff -u -r1.90 -r1.92
+--- xc/programs/Xserver/hw/xfree86/common/xf86str.h    25 Nov 2002 14:04:56 
-0000      1.90
++++ xc/programs/Xserver/hw/xfree86/common/xf86str.h    3 Apr 2003 16:20:23 
-0000       1.92
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86str.h,v 1.90 
2002/11/25 14:04:56 eich Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86str.h,v 1.92 
2003/04/03 16:20:23 dawes Exp $ */
+ 
+ /*
+  * Copyright (c) 1997-2000 by The XFree86 Project, Inc.
+@@ -452,7 +452,7 @@
+ /* These values should be adjusted when new fields are added to ScrnInfoRec */
+ #define NUM_RESERVED_INTS             16
+ #define NUM_RESERVED_POINTERS         15
+-#define NUM_RESERVED_FUNCS            16
++#define NUM_RESERVED_FUNCS            15
+ 
+ typedef pointer (*funcPointer)(void);
+ 
+@@ -753,6 +753,7 @@
+ typedef int  xf86ChangeGammaProc          (int, Gamma);
+ typedef void xf86PointerMovedProc         (int, int, int);
+ typedef Bool xf86PMEventProc              (int, pmEvent, Bool);
++typedef int  xf86HandleMessageProc     (int, const char*, const char*, 
char**);
+ 
+ /*
+  * ScrnInfoRec
+@@ -903,6 +904,7 @@
+     xf86ChangeGammaProc                       *ChangeGamma;
+     xf86PointerMovedProc              *PointerMoved;
+     xf86PMEventProc                   *PMEvent;
++    xf86HandleMessageProc             *HandleMessage;
+     
+     /*
+      * This can be used when the minor ABI version is incremented.
+@@ -1023,7 +1025,8 @@
+     ACTION_CLOSECLIENT,                       /* Kill client holding grab */
+     ACTION_SWITCHSCREEN               = 100,  /* VT switch */
+     ACTION_SWITCHSCREEN_NEXT,
+-    ACTION_SWITCHSCREEN_PREV
++    ACTION_SWITCHSCREEN_PREV,
++    ACTION_MESSAGE            = 9999  /* Generic message passing */
+ } ActionEvent;
+ 
+ #endif /* _XF86STR_H */
+Index: xc/programs/Xserver/xkb/ddxPrivate.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/xkb/ddxPrivate.c,v
+retrieving revision 1.1
+retrieving revision 1.2
+diff -u -r1.1 -r1.2
+--- xc/programs/Xserver/xkb/ddxPrivate.c       20 Nov 2002 04:49:02 -0000      
1.1
++++ xc/programs/Xserver/xkb/ddxPrivate.c       3 Apr 2003 16:20:22 -0000       
1.2
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/xkb/ddxPrivate.c,v 1.1 2002/11/20 04:49:02 
dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/xkb/ddxPrivate.c,v 1.2 2003/04/03 16:20:22 
dawes Exp $ */
+ 
+ #include <stdio.h>
+ #define NEED_EVENTS 1
+@@ -22,15 +22,12 @@
+ #endif
+ {
+ #ifdef XF86DDXACTIONS
+-    XkbMessageAction *msgact = &(act->msg);
+-    char msgbuf[7];
+-    int x;
++    XkbAnyAction *xf86act = &(act->any);
++    char msgbuf[XkbAnyActionDataSize+1];
+ 
+-    if (msgact->type == XkbSA_XFree86Private) {
+-      msgbuf[0]= msgact->flags;
+-      for (x=0; x<5; x++)
+-          msgbuf[x+1] = msgact->message[x];
+-      msgbuf[6]= '\0';
++    if (xf86act->type == XkbSA_XFree86Private) {
++      memcpy(msgbuf, xf86act->data, XkbAnyActionDataSize);
++      msgbuf[XkbAnyActionDataSize]= '\0';
+       if (_XkbStrCaseCmp(msgbuf, "-vmode")==0)
+           xf86ProcessActionEvent(ACTION_PREV_MODE, NULL);
+       else if (_XkbStrCaseCmp(msgbuf, "+vmode")==0)
+@@ -39,6 +36,8 @@
+           xf86ProcessActionEvent(ACTION_DISABLEGRAB, NULL);
+       else if (_XkbStrCaseCmp(msgbuf, "clsgrb")==0)
+           xf86ProcessActionEvent(ACTION_CLOSECLIENT, NULL);
++      else
++          xf86ProcessActionEvent(ACTION_MESSAGE, (void *) msgbuf);
+     }
+ #endif
+     return 0;

Modified: trunk/debian/patches/802_gnu_disable_vt_switching.diff
===================================================================
--- trunk/debian/patches/802_gnu_disable_vt_switching.diff      2004-06-28 
00:22:43 UTC (rev 1583)
+++ trunk/debian/patches/802_gnu_disable_vt_switching.diff      2004-06-28 
05:08:25 UTC (rev 1584)
@@ -4,8 +4,8 @@
 
 Not submitted to XFree86.
 
---- xc/programs/Xserver/hw/xfree86/common/xf86Events.c~        2004-06-27 
19:03:05.000000000 -0500
-+++ xc/programs/Xserver/hw/xfree86/common/xf86Events.c 2004-06-27 
19:03:08.000000000 -0500
+--- xc/programs/Xserver/hw/xfree86/common/xf86Events.c~        2004-06-27 
23:37:00.000000000 -0500
++++ xc/programs/Xserver/hw/xfree86/common/xf86Events.c 2004-06-27 
23:37:03.000000000 -0500
 @@ -321,6 +321,9 @@
        break;
  #if !defined(__SOL8__) && !defined(__UNIXOS2__) && (!defined(sun) || 
defined(i386))
@@ -22,5 +22,5 @@
        break;
 +#endif /* VT_ACTIVATE */
  #endif
-     default:
-       break;
+     case ACTION_MESSAGE:
+         {

Added: trunk/debian/xlibs-static-pic.NEWS
===================================================================
--- trunk/debian/xlibs-static-pic.NEWS  2004-06-28 00:22:43 UTC (rev 1583)
+++ trunk/debian/xlibs-static-pic.NEWS  2004-06-28 05:08:25 UTC (rev 1584)
@@ -0,0 +1,12 @@
+xlibs-static-pic (4.3.0.dfsg.1-6) unstable; urgency=low
+
+  * The version of libXxf86misc_pic.a in this package exposes the function
+    MiscExtPassMessage().  Any package relying on this function will need
+    declare appropriate versioned relationships with xlibs-static-pic (>=
+    4.3.0.dfsg.1-6).
+
+ -- Branden Robinson <[EMAIL PROTECTED]>  Sun, 27 Jun 2004 19:47:47 -0500
+
+  $Id$
+
+  vim:set ai et sts=2 sw=2 tw=78:


Property changes on: trunk/debian/xlibs-static-pic.NEWS
___________________________________________________________________
Name: svn:keywords
   + Id

Reply via email to