Commit e440ea76 authored by Mike Gabriel's avatar Mike Gabriel

randr extension: Convert to Xorg coding style.

The reformatting has been achieved by applying x-indent.sh to all .c and .h files in Xserver/randr/.
parent 7f7c96c7
...@@ -67,13 +67,13 @@ typedef struct { ...@@ -67,13 +67,13 @@ typedef struct {
#define sz_xPanoramiXQueryVersionReply 32 #define sz_xPanoramiXQueryVersionReply 32
typedef struct _PanoramiXGetState { typedef struct _PanoramiXGetState {
CARD8 reqType; /* always PanoramiXReqCode */ CARD8 reqType; /* always PanoramiXReqCode */
CARD8 panoramiXReqType; /* always X_PanoramiXGetState */ CARD8 panoramiXReqType; /* always X_PanoramiXGetState */
CARD16 length B16; CARD16 length B16;
CARD32 window B32; CARD32 window B32;
} xPanoramiXGetStateReq; } xPanoramiXGetStateReq;
#define sz_xPanoramiXGetStateReq 8 #define sz_xPanoramiXGetStateReq 8
typedef struct { typedef struct {
...@@ -97,6 +97,7 @@ typedef struct _PanoramiXGetScreenCount { ...@@ -97,6 +97,7 @@ typedef struct _PanoramiXGetScreenCount {
CARD16 length B16; CARD16 length B16;
CARD32 window B32; CARD32 window B32;
} xPanoramiXGetScreenCountReq; } xPanoramiXGetScreenCountReq;
#define sz_xPanoramiXGetScreenCountReq 8 #define sz_xPanoramiXGetScreenCountReq 8
typedef struct { typedef struct {
...@@ -111,6 +112,7 @@ typedef struct { ...@@ -111,6 +112,7 @@ typedef struct {
CARD32 pad4 B32; /* unused */ CARD32 pad4 B32; /* unused */
CARD32 pad5 B32; /* unused */ CARD32 pad5 B32; /* unused */
} xPanoramiXGetScreenCountReply; } xPanoramiXGetScreenCountReply;
#define sz_panoramiXGetScreenCountReply 32 #define sz_panoramiXGetScreenCountReply 32
typedef struct _PanoramiXGetScreenSize { typedef struct _PanoramiXGetScreenSize {
...@@ -120,6 +122,7 @@ typedef struct _PanoramiXGetScreenSize { ...@@ -120,6 +122,7 @@ typedef struct _PanoramiXGetScreenSize {
CARD32 window B32; CARD32 window B32;
CARD32 screen B32; CARD32 screen B32;
} xPanoramiXGetScreenSizeReq; } xPanoramiXGetScreenSizeReq;
#define sz_xPanoramiXGetScreenSizeReq 12 #define sz_xPanoramiXGetScreenSizeReq 12
typedef struct { typedef struct {
...@@ -134,6 +137,7 @@ typedef struct { ...@@ -134,6 +137,7 @@ typedef struct {
CARD32 pad2 B32; /* unused */ CARD32 pad2 B32; /* unused */
CARD32 pad3 B32; /* unused */ CARD32 pad3 B32; /* unused */
} xPanoramiXGetScreenSizeReply; } xPanoramiXGetScreenSizeReply;
#define sz_panoramiXGetScreenSizeReply 32 #define sz_panoramiXGetScreenSizeReply 32
/************ Alternate protocol ******************/ /************ Alternate protocol ******************/
...@@ -143,6 +147,7 @@ typedef struct { ...@@ -143,6 +147,7 @@ typedef struct {
CARD8 panoramiXReqType; CARD8 panoramiXReqType;
CARD16 length B16; CARD16 length B16;
} xXineramaIsActiveReq; } xXineramaIsActiveReq;
#define sz_xXineramaIsActiveReq 4 #define sz_xXineramaIsActiveReq 4
typedef struct { typedef struct {
...@@ -157,14 +162,15 @@ typedef struct { ...@@ -157,14 +162,15 @@ typedef struct {
CARD32 pad5 B32; CARD32 pad5 B32;
CARD32 pad6 B32; CARD32 pad6 B32;
} xXineramaIsActiveReply; } xXineramaIsActiveReply;
#define sz_XineramaIsActiveReply 32
#define sz_XineramaIsActiveReply 32
typedef struct { typedef struct {
CARD8 reqType; CARD8 reqType;
CARD8 panoramiXReqType; CARD8 panoramiXReqType;
CARD16 length B16; CARD16 length B16;
} xXineramaQueryScreensReq; } xXineramaQueryScreensReq;
#define sz_xXineramaQueryScreensReq 4 #define sz_xXineramaQueryScreensReq 4
typedef struct { typedef struct {
...@@ -179,6 +185,7 @@ typedef struct { ...@@ -179,6 +185,7 @@ typedef struct {
CARD32 pad5 B32; CARD32 pad5 B32;
CARD32 pad6 B32; CARD32 pad6 B32;
} xXineramaQueryScreensReply; } xXineramaQueryScreensReply;
#define sz_XineramaQueryScreensReply 32 #define sz_XineramaQueryScreensReply 32
typedef struct { typedef struct {
...@@ -187,6 +194,7 @@ typedef struct { ...@@ -187,6 +194,7 @@ typedef struct {
CARD16 width B16; CARD16 width B16;
CARD16 height B16; CARD16 height B16;
} xXineramaScreenInfo; } xXineramaScreenInfo;
#define sz_XineramaScreenInfo 8 #define sz_XineramaScreenInfo 8
#endif #endif
...@@ -63,6 +63,7 @@ typedef struct { ...@@ -63,6 +63,7 @@ typedef struct {
CARD16 widthInMillimeters B16; CARD16 widthInMillimeters B16;
CARD16 heightInMillimeters B16; CARD16 heightInMillimeters B16;
} xScreenSizes; } xScreenSizes;
#define sz_xScreenSizes 8 #define sz_xScreenSizes 8
/* /*
...@@ -76,6 +77,7 @@ typedef struct { ...@@ -76,6 +77,7 @@ typedef struct {
CARD32 majorVersion B32; CARD32 majorVersion B32;
CARD32 minorVersion B32; CARD32 minorVersion B32;
} xRRQueryVersionReq; } xRRQueryVersionReq;
#define sz_xRRQueryVersionReq 12 #define sz_xRRQueryVersionReq 12
typedef struct { typedef struct {
...@@ -90,6 +92,7 @@ typedef struct { ...@@ -90,6 +92,7 @@ typedef struct {
CARD32 pad4 B32; CARD32 pad4 B32;
CARD32 pad5 B32; CARD32 pad5 B32;
} xRRQueryVersionReply; } xRRQueryVersionReply;
#define sz_xRRQueryVersionReply 32 #define sz_xRRQueryVersionReply 32
typedef struct { typedef struct {
...@@ -98,6 +101,7 @@ typedef struct { ...@@ -98,6 +101,7 @@ typedef struct {
CARD16 length B16; CARD16 length B16;
Window window B32; Window window B32;
} xRRGetScreenInfoReq; } xRRGetScreenInfoReq;
#define sz_xRRGetScreenInfoReq 8 #define sz_xRRGetScreenInfoReq 8
/* /*
...@@ -106,7 +110,6 @@ typedef struct { ...@@ -106,7 +110,6 @@ typedef struct {
* the size information * the size information
*/ */
typedef struct { typedef struct {
BYTE type; /* X_Reply */ BYTE type; /* X_Reply */
BYTE setOfRotations; BYTE setOfRotations;
...@@ -122,6 +125,7 @@ typedef struct { ...@@ -122,6 +125,7 @@ typedef struct {
CARD16 nrateEnts B16; CARD16 nrateEnts B16;
CARD16 pad B16; CARD16 pad B16;
} xRRGetScreenInfoReply; } xRRGetScreenInfoReply;
#define sz_xRRGetScreenInfoReply 32 #define sz_xRRGetScreenInfoReply 32
typedef struct { typedef struct {
...@@ -134,6 +138,7 @@ typedef struct { ...@@ -134,6 +138,7 @@ typedef struct {
SizeID sizeID B16; SizeID sizeID B16;
Rotation rotation B16; Rotation rotation B16;
} xRR1_0SetScreenConfigReq; } xRR1_0SetScreenConfigReq;
#define sz_xRR1_0SetScreenConfigReq 20 #define sz_xRR1_0SetScreenConfigReq 20
typedef struct { typedef struct {
...@@ -148,6 +153,7 @@ typedef struct { ...@@ -148,6 +153,7 @@ typedef struct {
CARD16 rate B16; CARD16 rate B16;
CARD16 pad B16; CARD16 pad B16;
} xRRSetScreenConfigReq; } xRRSetScreenConfigReq;
#define sz_xRRSetScreenConfigReq 24 #define sz_xRRSetScreenConfigReq 24
typedef struct { typedef struct {
...@@ -163,6 +169,7 @@ typedef struct { ...@@ -163,6 +169,7 @@ typedef struct {
CARD32 pad5 B32; CARD32 pad5 B32;
CARD32 pad6 B32; CARD32 pad6 B32;
} xRRSetScreenConfigReply; } xRRSetScreenConfigReply;
#define sz_xRRSetScreenConfigReply 32 #define sz_xRRSetScreenConfigReply 32
typedef struct { typedef struct {
...@@ -173,6 +180,7 @@ typedef struct { ...@@ -173,6 +180,7 @@ typedef struct {
CARD16 enable B16; CARD16 enable B16;
CARD16 pad2 B16; CARD16 pad2 B16;
} xRRSelectInputReq; } xRRSelectInputReq;
#define sz_xRRSelectInputReq 12 #define sz_xRRSelectInputReq 12
/* /*
...@@ -194,6 +202,7 @@ typedef struct _xRRModeInfo { ...@@ -194,6 +202,7 @@ typedef struct _xRRModeInfo {
CARD16 nameLength B16; CARD16 nameLength B16;
RRModeFlags modeFlags B32; RRModeFlags modeFlags B32;
} xRRModeInfo; } xRRModeInfo;
#define sz_xRRModeInfo 32 #define sz_xRRModeInfo 32
typedef struct { typedef struct {
...@@ -202,6 +211,7 @@ typedef struct { ...@@ -202,6 +211,7 @@ typedef struct {
CARD16 length B16; CARD16 length B16;
Window window B32; Window window B32;
} xRRGetScreenSizeRangeReq; } xRRGetScreenSizeRangeReq;
#define sz_xRRGetScreenSizeRangeReq 8 #define sz_xRRGetScreenSizeRangeReq 8
typedef struct { typedef struct {
...@@ -218,6 +228,7 @@ typedef struct { ...@@ -218,6 +228,7 @@ typedef struct {
CARD32 pad2 B32; CARD32 pad2 B32;
CARD32 pad3 B32; CARD32 pad3 B32;
} xRRGetScreenSizeRangeReply; } xRRGetScreenSizeRangeReply;
#define sz_xRRGetScreenSizeRangeReply 32 #define sz_xRRGetScreenSizeRangeReply 32
typedef struct { typedef struct {
...@@ -230,6 +241,7 @@ typedef struct { ...@@ -230,6 +241,7 @@ typedef struct {
CARD32 widthInMillimeters B32; CARD32 widthInMillimeters B32;
CARD32 heightInMillimeters B32; CARD32 heightInMillimeters B32;
} xRRSetScreenSizeReq; } xRRSetScreenSizeReq;
#define sz_xRRSetScreenSizeReq 20 #define sz_xRRSetScreenSizeReq 20
typedef struct { typedef struct {
...@@ -238,6 +250,7 @@ typedef struct { ...@@ -238,6 +250,7 @@ typedef struct {
CARD16 length B16; CARD16 length B16;
Window window B32; Window window B32;
} xRRGetScreenResourcesReq; } xRRGetScreenResourcesReq;
#define sz_xRRGetScreenResourcesReq 8 #define sz_xRRGetScreenResourcesReq 8
typedef struct { typedef struct {
...@@ -254,6 +267,7 @@ typedef struct { ...@@ -254,6 +267,7 @@ typedef struct {
CARD32 pad1 B32; CARD32 pad1 B32;
CARD32 pad2 B32; CARD32 pad2 B32;
} xRRGetScreenResourcesReply; } xRRGetScreenResourcesReply;
#define sz_xRRGetScreenResourcesReply 32 #define sz_xRRGetScreenResourcesReply 32
typedef struct { typedef struct {
...@@ -263,6 +277,7 @@ typedef struct { ...@@ -263,6 +277,7 @@ typedef struct {
RROutput output B32; RROutput output B32;
Time configTimestamp B32; Time configTimestamp B32;
} xRRGetOutputInfoReq; } xRRGetOutputInfoReq;
#define sz_xRRGetOutputInfoReq 12 #define sz_xRRGetOutputInfoReq 12
typedef struct { typedef struct {
...@@ -282,6 +297,7 @@ typedef struct { ...@@ -282,6 +297,7 @@ typedef struct {
CARD16 nClones B16; CARD16 nClones B16;
CARD16 nameLength B16; CARD16 nameLength B16;
} xRRGetOutputInfoReply; } xRRGetOutputInfoReply;
#define sz_xRRGetOutputInfoReply 36 #define sz_xRRGetOutputInfoReply 36
typedef struct { typedef struct {
...@@ -290,6 +306,7 @@ typedef struct { ...@@ -290,6 +306,7 @@ typedef struct {
CARD16 length B16; CARD16 length B16;
RROutput output B32; RROutput output B32;
} xRRListOutputPropertiesReq; } xRRListOutputPropertiesReq;
#define sz_xRRListOutputPropertiesReq 8 #define sz_xRRListOutputPropertiesReq 8
typedef struct { typedef struct {
...@@ -305,6 +322,7 @@ typedef struct { ...@@ -305,6 +322,7 @@ typedef struct {
CARD32 pad5 B32; CARD32 pad5 B32;
CARD32 pad6 B32; CARD32 pad6 B32;
} xRRListOutputPropertiesReply; } xRRListOutputPropertiesReply;
#define sz_xRRListOutputPropertiesReply 32 #define sz_xRRListOutputPropertiesReply 32
typedef struct { typedef struct {
...@@ -314,6 +332,7 @@ typedef struct { ...@@ -314,6 +332,7 @@ typedef struct {
RROutput output B32; RROutput output B32;
Atom property B32; Atom property B32;
} xRRQueryOutputPropertyReq; } xRRQueryOutputPropertyReq;
#define sz_xRRQueryOutputPropertyReq 12 #define sz_xRRQueryOutputPropertyReq 12
typedef struct { typedef struct {
...@@ -331,6 +350,7 @@ typedef struct { ...@@ -331,6 +350,7 @@ typedef struct {
CARD32 pad5 B32; CARD32 pad5 B32;
CARD32 pad6 B32; CARD32 pad6 B32;
} xRRQueryOutputPropertyReply; } xRRQueryOutputPropertyReply;
#define sz_xRRQueryOutputPropertyReply 32 #define sz_xRRQueryOutputPropertyReply 32
typedef struct { typedef struct {
...@@ -343,6 +363,7 @@ typedef struct { ...@@ -343,6 +363,7 @@ typedef struct {
BOOL range; BOOL range;
CARD16 pad B16; CARD16 pad B16;
} xRRConfigureOutputPropertyReq; } xRRConfigureOutputPropertyReq;
#define sz_xRRConfigureOutputPropertyReq 16 #define sz_xRRConfigureOutputPropertyReq 16
typedef struct { typedef struct {
...@@ -357,6 +378,7 @@ typedef struct { ...@@ -357,6 +378,7 @@ typedef struct {
CARD16 pad; CARD16 pad;
CARD32 nUnits B32; CARD32 nUnits B32;
} xRRChangeOutputPropertyReq; } xRRChangeOutputPropertyReq;
#define sz_xRRChangeOutputPropertyReq 24 #define sz_xRRChangeOutputPropertyReq 24
typedef struct { typedef struct {
...@@ -366,6 +388,7 @@ typedef struct { ...@@ -366,6 +388,7 @@ typedef struct {
RROutput output B32; RROutput output B32;
Atom property B32; Atom property B32;
} xRRDeleteOutputPropertyReq; } xRRDeleteOutputPropertyReq;
#define sz_xRRDeleteOutputPropertyReq 12 #define sz_xRRDeleteOutputPropertyReq 12
typedef struct { typedef struct {
...@@ -385,6 +408,7 @@ typedef struct { ...@@ -385,6 +408,7 @@ typedef struct {
BOOL pending; BOOL pending;
CARD16 pad1 B16; CARD16 pad1 B16;
} xRRGetOutputPropertyReq; } xRRGetOutputPropertyReq;
#define sz_xRRGetOutputPropertyReq 28 #define sz_xRRGetOutputPropertyReq 28
typedef struct { typedef struct {
...@@ -399,6 +423,7 @@ typedef struct { ...@@ -399,6 +423,7 @@ typedef struct {
CARD32 pad2 B32; CARD32 pad2 B32;
CARD32 pad3 B32; CARD32 pad3 B32;
} xRRGetOutputPropertyReply; } xRRGetOutputPropertyReply;
#define sz_xRRGetOutputPropertyReply 32 #define sz_xRRGetOutputPropertyReply 32
typedef struct { typedef struct {
...@@ -408,6 +433,7 @@ typedef struct { ...@@ -408,6 +433,7 @@ typedef struct {
Window window B32; Window window B32;
xRRModeInfo modeInfo; xRRModeInfo modeInfo;
} xRRCreateModeReq; } xRRCreateModeReq;
#define sz_xRRCreateModeReq 40 #define sz_xRRCreateModeReq 40
typedef struct { typedef struct {
...@@ -422,6 +448,7 @@ typedef struct { ...@@ -422,6 +448,7 @@ typedef struct {
CARD32 pad4 B32; CARD32 pad4 B32;
CARD32 pad5 B32; CARD32 pad5 B32;
} xRRCreateModeReply; } xRRCreateModeReply;
#define sz_xRRCreateModeReply 32 #define sz_xRRCreateModeReply 32
typedef struct { typedef struct {
...@@ -430,6 +457,7 @@ typedef struct { ...@@ -430,6 +457,7 @@ typedef struct {
CARD16 length B16; CARD16 length B16;
RRMode mode B32; RRMode mode B32;
} xRRDestroyModeReq; } xRRDestroyModeReq;
#define sz_xRRDestroyModeReq 8 #define sz_xRRDestroyModeReq 8
typedef struct { typedef struct {
...@@ -439,6 +467,7 @@ typedef struct { ...@@ -439,6 +467,7 @@ typedef struct {
RROutput output B32; RROutput output B32;
RRMode mode B32; RRMode mode B32;
} xRRAddOutputModeReq; } xRRAddOutputModeReq;
#define sz_xRRAddOutputModeReq 12 #define sz_xRRAddOutputModeReq 12
typedef struct { typedef struct {
...@@ -448,6 +477,7 @@ typedef struct { ...@@ -448,6 +477,7 @@ typedef struct {
RROutput output B32; RROutput output B32;
RRMode mode B32; RRMode mode B32;
} xRRDeleteOutputModeReq; } xRRDeleteOutputModeReq;
#define sz_xRRDeleteOutputModeReq 12 #define sz_xRRDeleteOutputModeReq 12
typedef struct { typedef struct {
...@@ -457,6 +487,7 @@ typedef struct { ...@@ -457,6 +487,7 @@ typedef struct {
RRCrtc crtc B32; RRCrtc crtc B32;
Time configTimestamp B32; Time configTimestamp B32;
} xRRGetCrtcInfoReq; } xRRGetCrtcInfoReq;
#define sz_xRRGetCrtcInfoReq 12 #define sz_xRRGetCrtcInfoReq 12
typedef struct { typedef struct {
...@@ -475,6 +506,7 @@ typedef struct { ...@@ -475,6 +506,7 @@ typedef struct {
CARD16 nOutput B16; CARD16 nOutput B16;
CARD16 nPossibleOutput B16; CARD16 nPossibleOutput B16;
} xRRGetCrtcInfoReply; } xRRGetCrtcInfoReply;
#define sz_xRRGetCrtcInfoReply 32 #define sz_xRRGetCrtcInfoReply 32
typedef struct { typedef struct {
...@@ -490,6 +522,7 @@ typedef struct { ...@@ -490,6 +522,7 @@ typedef struct {
Rotation rotation B16; Rotation rotation B16;
CARD16 pad B16; CARD16 pad B16;
} xRRSetCrtcConfigReq; } xRRSetCrtcConfigReq;
#define sz_xRRSetCrtcConfigReq 28 #define sz_xRRSetCrtcConfigReq 28
typedef struct { typedef struct {
...@@ -504,6 +537,7 @@ typedef struct { ...@@ -504,6 +537,7 @@ typedef struct {
CARD32 pad4 B32; CARD32 pad4 B32;
CARD32 pad5 B32; CARD32 pad5 B32;
} xRRSetCrtcConfigReply; } xRRSetCrtcConfigReply;
#define sz_xRRSetCrtcConfigReply 32 #define sz_xRRSetCrtcConfigReply 32
typedef struct { typedef struct {
...@@ -512,6 +546,7 @@ typedef struct { ...@@ -512,6 +546,7 @@ typedef struct {
CARD16 length B16; CARD16 length B16;
RRCrtc crtc B32; RRCrtc crtc B32;
} xRRGetCrtcGammaSizeReq; } xRRGetCrtcGammaSizeReq;
#define sz_xRRGetCrtcGammaSizeReq 8 #define sz_xRRGetCrtcGammaSizeReq 8
typedef struct { typedef struct {
...@@ -527,6 +562,7 @@ typedef struct { ...@@ -527,6 +562,7 @@ typedef struct {
CARD32 pad5 B32; CARD32 pad5 B32;
CARD32 pad6 B32; CARD32 pad6 B32;
} xRRGetCrtcGammaSizeReply; } xRRGetCrtcGammaSizeReply;
#define sz_xRRGetCrtcGammaSizeReply 32 #define sz_xRRGetCrtcGammaSizeReply 32
typedef struct { typedef struct {
...@@ -535,6 +571,7 @@ typedef struct { ...@@ -535,6 +571,7 @@ typedef struct {
CARD16 length B16; CARD16 length B16;
RRCrtc crtc B32; RRCrtc crtc B32;
} xRRGetCrtcGammaReq; } xRRGetCrtcGammaReq;
#define sz_xRRGetCrtcGammaReq 8 #define sz_xRRGetCrtcGammaReq 8
typedef struct { typedef struct {
...@@ -550,6 +587,7 @@ typedef struct { ...@@ -550,6 +587,7 @@ typedef struct {
CARD32 pad5 B32; CARD32 pad5 B32;
CARD32 pad6 B32; CARD32 pad6 B32;
} xRRGetCrtcGammaReply; } xRRGetCrtcGammaReply;
#define sz_xRRGetCrtcGammaReply 32 #define sz_xRRGetCrtcGammaReply 32
typedef struct { typedef struct {
...@@ -560,6 +598,7 @@ typedef struct { ...@@ -560,6 +598,7 @@ typedef struct {
CARD16 size B16; CARD16 size B16;
CARD16 pad1 B16; CARD16 pad1 B16;
} xRRSetCrtcGammaReq; } xRRSetCrtcGammaReq;
#define sz_xRRSetCrtcGammaReq 12 #define sz_xRRSetCrtcGammaReq 12
/* /*
...@@ -580,6 +619,7 @@ typedef struct { ...@@ -580,6 +619,7 @@ typedef struct {
CARD16 widthInMillimeters B16; CARD16 widthInMillimeters B16;
CARD16 heightInMillimeters B16; CARD16 heightInMillimeters B16;
} xRRScreenChangeNotifyEvent; } xRRScreenChangeNotifyEvent;
#define sz_xRRScreenChangeNotifyEvent 32 #define sz_xRRScreenChangeNotifyEvent 32
typedef struct { typedef struct {
...@@ -597,6 +637,7 @@ typedef struct { ...@@ -597,6 +637,7 @@ typedef struct {
CARD16 width B16; /* new size */ CARD16 width B16; /* new size */
CARD16 height B16; CARD16 height B16;
} xRRCrtcChangeNotifyEvent; } xRRCrtcChangeNotifyEvent;
#define sz_xRRCrtcChangeNotifyEvent 32 #define sz_xRRCrtcChangeNotifyEvent 32
typedef struct { typedef struct {
...@@ -613,6 +654,7 @@ typedef struct { ...@@ -613,6 +654,7 @@ typedef struct {
CARD8 connection; /* connection status */ CARD8 connection; /* connection status */
CARD8 subpixelOrder; /* subpixel order */ CARD8 subpixelOrder; /* subpixel order */
} xRROutputChangeNotifyEvent; } xRROutputChangeNotifyEvent;
#define sz_xRROutputChangeNotifyEvent 32 #define sz_xRROutputChangeNotifyEvent 32
typedef struct { typedef struct {
...@@ -629,6 +671,7 @@ typedef struct { ...@@ -629,6 +671,7 @@ typedef struct {
CARD32 pad3 B32; CARD32 pad3 B32;
CARD32 pad4 B32; CARD32 pad4 B32;
} xRROutputPropertyNotifyEvent; } xRROutputPropertyNotifyEvent;
#define sz_xRROutputPropertyNotifyEvent 32 #define sz_xRROutputPropertyNotifyEvent 32
#undef RRModeFlags #undef RRModeFlags
......
...@@ -29,7 +29,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ...@@ -29,7 +29,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* not be a stack variable. * not be a stack variable.
*/ */
void RegisterResourceName(RESTYPE type, char *name); void RegisterResourceName(RESTYPE type, char *name);
void RegisterExtensionNames(ExtensionEntry *ext); void RegisterExtensionNames(ExtensionEntry * ext);
/* /*
* Lookup functions. The returned string must not be modified or freed. * Lookup functions. The returned string must not be modified or freed.
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#define SERVER_RANDR_MINOR 2 #define SERVER_RANDR_MINOR 2
Bool Bool
RRClientKnowsRates (ClientPtr pClient) RRClientKnowsRates(ClientPtr pClient)
{ {
rrClientPriv(pClient); rrClientPriv(pClient);
...@@ -35,10 +35,11 @@ RRClientKnowsRates (ClientPtr pClient) ...@@ -35,10 +35,11 @@ RRClientKnowsRates (ClientPtr pClient)
} }
static int static int
ProcRRQueryVersion (ClientPtr client) ProcRRQueryVersion(ClientPtr client)
{ {
xRRQueryVersionReply rep; xRRQueryVersionReply rep;
register int n; register int n;
REQUEST(xRRQueryVersionReq); REQUEST(xRRQueryVersionReq);
rrClientPriv(client); rrClientPriv(client);
...@@ -60,12 +61,12 @@ ProcRRQueryVersion (ClientPtr client) ...@@ -60,12 +61,12 @@ ProcRRQueryVersion (ClientPtr client)
swapl(&rep.majorVersion, n); swapl(&rep.majorVersion, n);
swapl(&rep.minorVersion, n); swapl(&rep.minorVersion, n);
} }
WriteToClient(client, sizeof(xRRQueryVersionReply), (char *)&rep); WriteToClient(client, sizeof(xRRQueryVersionReply), (char *) &rep);
return (client->noClientException); return (client->noClientException);
} }
static int static int
ProcRRSelectInput (ClientPtr client) ProcRRSelectInput(ClientPtr client)
{ {
REQUEST(xRRSelectInputReq); REQUEST(xRRSelectInputReq);
rrClientPriv(client); rrClientPriv(client);
...@@ -76,38 +77,35 @@ ProcRRSelectInput (ClientPtr client) ...@@ -76,38 +77,35 @@ ProcRRSelectInput (ClientPtr client)
int rc; int rc;
REQUEST_SIZE_MATCH(xRRSelectInputReq); REQUEST_SIZE_MATCH(xRRSelectInputReq);
#ifndef NXAGENT_SERVER #ifndef NXAGENT_SERVER
rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess); rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess);
#else #else
pWin = SecurityLookupWindow(stuff->window, client, SecurityWriteAccess); pWin = SecurityLookupWindow(stuff->window, client, SecurityWriteAccess);
rc = pWin ? Success : BadWindow; rc = pWin ? Success : BadWindow;
#endif #endif
if (rc != Success) if (rc != Success)
return rc; return rc;
pHead = (RREventPtr *)SecurityLookupIDByType(client, pHead = (RREventPtr *) SecurityLookupIDByType(client,
pWin->drawable.id, RREventType, pWin->drawable.id,
DixWriteAccess); RREventType, DixWriteAccess);
if (stuff->enable & (RRScreenChangeNotifyMask| if (stuff->enable & (RRScreenChangeNotifyMask |
RRCrtcChangeNotifyMask| RRCrtcChangeNotifyMask | RROutputChangeNotifyMask)) {
RROutputChangeNotifyMask))
{
ScreenPtr pScreen = pWin->drawable.pScreen; ScreenPtr pScreen = pWin->drawable.pScreen;
rrScrPriv (pScreen);
rrScrPriv(pScreen);
pRREvent = NULL; pRREvent = NULL;
if (pHead) if (pHead) {
{
/* check for existing entry. */ /* check for existing entry. */
for (pRREvent = *pHead; pRREvent; pRREvent = pRREvent->next) for (pRREvent = *pHead; pRREvent; pRREvent = pRREvent->next)
if (pRREvent->client == client) if (pRREvent->client == client)
break; break;
} }
if (!pRREvent) if (!pRREvent) {
{
/* build the entry */ /* build the entry */
pRREvent = (RREventPtr) xalloc (sizeof (RREventRec)); pRREvent = (RREventPtr) xalloc(sizeof(RREventRec));
if (!pRREvent) if (!pRREvent)
return BadAlloc; return BadAlloc;
pRREvent->next = 0; pRREvent->next = 0;
...@@ -118,9 +116,9 @@ ProcRRSelectInput (ClientPtr client) ...@@ -118,9 +116,9 @@ ProcRRSelectInput (ClientPtr client)
* add a resource that will be deleted when * add a resource that will be deleted when
* the client goes away * the client goes away
*/ */
clientResource = FakeClientID (client->index); clientResource = FakeClientID(client->index);
pRREvent->clientResource = clientResource; pRREvent->clientResource = clientResource;
if (!AddResource (clientResource, RRClientType, (void *)pRREvent)) if (!AddResource(clientResource, RRClientType, (void *) pRREvent))
return BadAlloc; return BadAlloc;
/* /*
* create a resource to contain a pointer to the list * create a resource to contain a pointer to the list
...@@ -128,13 +126,12 @@ ProcRRSelectInput (ClientPtr client) ...@@ -128,13 +126,12 @@ ProcRRSelectInput (ClientPtr client)
* the list may be arbitrarily rearranged which cannot be * the list may be arbitrarily rearranged which cannot be
* done through the resource database. * done through the resource database.
*/ */
if (!pHead) if (!pHead) {
{ pHead = (RREventPtr *) xalloc(sizeof(RREventPtr));
pHead = (RREventPtr *) xalloc (sizeof (RREventPtr));
if (!pHead || if (!pHead ||
!AddResource (pWin->drawable.id, RREventType, (void *)pHead)) !AddResource(pWin->drawable.id, RREventType,
{ (void *) pHead)) {
FreeResource (clientResource, RT_NONE); FreeResource(clientResource, RT_NONE);
return BadAlloc; return BadAlloc;
} }
*pHead = 0; *pHead = 0;
...@@ -145,47 +142,44 @@ ProcRRSelectInput (ClientPtr client) ...@@ -145,47 +142,44 @@ ProcRRSelectInput (ClientPtr client)
/* /*
* Now see if the client needs an event * Now see if the client needs an event
*/ */
if (pScrPriv && (pRREvent->mask & RRScreenChangeNotifyMask)) if (pScrPriv && (pRREvent->mask & RRScreenChangeNotifyMask)) {
{
pTimes = &((RRTimesPtr) (pRRClient + 1))[pScreen->myNum]; pTimes = &((RRTimesPtr) (pRRClient + 1))[pScreen->myNum];
if (CompareTimeStamps (pTimes->setTime, if (CompareTimeStamps(pTimes->setTime,
pScrPriv->lastSetTime) != 0 || pScrPriv->lastSetTime) != 0 ||
CompareTimeStamps (pTimes->configTime, CompareTimeStamps(pTimes->configTime,
pScrPriv->lastConfigTime) != 0) pScrPriv->lastConfigTime) != 0) {
{ RRDeliverScreenEvent(client, pWin, pScreen);
RRDeliverScreenEvent (client, pWin, pScreen);
} }
} }
} }
else if (stuff->enable == 0) else if (stuff->enable == 0) {
{
/* delete the interest */ /* delete the interest */
if (pHead) { if (pHead) {
RREventPtr pNewRREvent = 0; RREventPtr pNewRREvent = 0;
for (pRREvent = *pHead; pRREvent; pRREvent = pRREvent->next) { for (pRREvent = *pHead; pRREvent; pRREvent = pRREvent->next) {
if (pRREvent->client == client) if (pRREvent->client == client)
break; break;
pNewRREvent = pRREvent; pNewRREvent = pRREvent;
} }
if (pRREvent) { if (pRREvent) {
FreeResource (pRREvent->clientResource, RRClientType); FreeResource(pRREvent->clientResource, RRClientType);
if (pNewRREvent) if (pNewRREvent)
pNewRREvent->next = pRREvent->next; pNewRREvent->next = pRREvent->next;
else else
*pHead = pRREvent->next; *pHead = pRREvent->next;
xfree (pRREvent); xfree(pRREvent);
} }
} }
} }
else else {
{
client->errorValue = stuff->enable; client->errorValue = stuff->enable;
return BadValue; return BadValue;
} }
return Success; return Success;
} }
int (*ProcRandrVector[RRNumberRequests])(ClientPtr) = { int (*ProcRandrVector[RRNumberRequests]) (ClientPtr) = {
ProcRRQueryVersion, /* 0 */ ProcRRQueryVersion, /* 0 */
/* we skip 1 to make old clients fail pretty immediately */ /* we skip 1 to make old clients fail pretty immediately */
NULL, /* 1 ProcRandrOldGetScreenInfo */ NULL, /* 1 ProcRandrOldGetScreenInfo */
...@@ -216,4 +210,3 @@ int (*ProcRandrVector[RRNumberRequests])(ClientPtr) = { ...@@ -216,4 +210,3 @@ int (*ProcRandrVector[RRNumberRequests])(ClientPtr) = {
ProcRRGetCrtcGamma, /* 23 */ ProcRRGetCrtcGamma, /* 23 */
ProcRRSetCrtcGamma, /* 24 */ ProcRRSetCrtcGamma, /* 24 */
}; };
...@@ -24,9 +24,10 @@ ...@@ -24,9 +24,10 @@
#ifdef RANDR_10_INTERFACE #ifdef RANDR_10_INTERFACE
static RRModePtr static RRModePtr
RROldModeAdd (RROutputPtr output, RRScreenSizePtr size, int refresh) RROldModeAdd(RROutputPtr output, RRScreenSizePtr size, int refresh)
{ {
ScreenPtr pScreen = output->pScreen; ScreenPtr pScreen = output->pScreen;
rrScrPriv(pScreen); rrScrPriv(pScreen);
xRRModeInfo modeInfo; xRRModeInfo modeInfo;
char name[100]; char name[100];
...@@ -34,8 +35,8 @@ RROldModeAdd (RROutputPtr output, RRScreenSizePtr size, int refresh) ...@@ -34,8 +35,8 @@ RROldModeAdd (RROutputPtr output, RRScreenSizePtr size, int refresh)
int i; int i;
RRModePtr *modes; RRModePtr *modes;
memset (&modeInfo, '\0', sizeof (modeInfo)); memset(&modeInfo, '\0', sizeof(modeInfo));
sprintf (name, "%dx%d", size->width, size->height); sprintf(name, "%dx%d", size->width, size->height);
modeInfo.width = size->width; modeInfo.width = size->width;
modeInfo.height = size->height; modeInfo.height = size->height;
...@@ -43,26 +44,24 @@ RROldModeAdd (RROutputPtr output, RRScreenSizePtr size, int refresh) ...@@ -43,26 +44,24 @@ RROldModeAdd (RROutputPtr output, RRScreenSizePtr size, int refresh)
modeInfo.vTotal = size->height; modeInfo.vTotal = size->height;
modeInfo.dotClock = ((CARD32) size->width * (CARD32) size->height * modeInfo.dotClock = ((CARD32) size->width * (CARD32) size->height *
(CARD32) refresh); (CARD32) refresh);
modeInfo.nameLength = strlen (name); modeInfo.nameLength = strlen(name);
mode = RRModeGet (&modeInfo, name); mode = RRModeGet(&modeInfo, name);
if (!mode) if (!mode)
return NULL; return NULL;
for (i = 0; i < output->numModes; i++) for (i = 0; i < output->numModes; i++)
if (output->modes[i] == mode) if (output->modes[i] == mode) {
{ RRModeDestroy(mode);
RRModeDestroy (mode);
return mode; return mode;
} }
if (output->numModes) if (output->numModes)
modes = xrealloc (output->modes, modes = xrealloc(output->modes,
(output->numModes + 1) * sizeof (RRModePtr)); (output->numModes + 1) * sizeof(RRModePtr));
else else
modes = xalloc (sizeof (RRModePtr)); modes = xalloc(sizeof(RRModePtr));
if (!modes) if (!modes) {
{ RRModeDestroy(mode);
RRModeDestroy (mode); FreeResource(mode->mode.id, 0);
FreeResource (mode->mode.id, 0);
return NULL; return NULL;
} }
modes[output->numModes++] = mode; modes[output->numModes++] = mode;
...@@ -74,7 +73,7 @@ RROldModeAdd (RROutputPtr output, RRScreenSizePtr size, int refresh) ...@@ -74,7 +73,7 @@ RROldModeAdd (RROutputPtr output, RRScreenSizePtr size, int refresh)
} }
static void static void
RRScanOldConfig (ScreenPtr pScreen, Rotation rotations) RRScanOldConfig(ScreenPtr pScreen, Rotation rotations)
{ {
rrScrPriv(pScreen); rrScrPriv(pScreen);
RROutputPtr output; RROutputPtr output;
...@@ -89,19 +88,17 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations) ...@@ -89,19 +88,17 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations)
* First time through, create a crtc and output and hook * First time through, create a crtc and output and hook
* them together * them together
*/ */
if (pScrPriv->numOutputs == 0 && if (pScrPriv->numOutputs == 0 && pScrPriv->numCrtcs == 0) {
pScrPriv->numCrtcs == 0) crtc = RRCrtcCreate(pScreen, NULL);
{
crtc = RRCrtcCreate (pScreen, NULL);
if (!crtc) if (!crtc)
return; return;
output = RROutputCreate (pScreen, "default", 7, NULL); output = RROutputCreate(pScreen, "default", 7, NULL);
if (!output) if (!output)
return; return;
RROutputSetCrtcs (output, &crtc, 1); RROutputSetCrtcs(output, &crtc, 1);
RROutputSetConnection (output, RR_Connected); RROutputSetConnection(output, RR_Connected);
#ifdef RENDER #ifdef RENDER
RROutputSetSubpixelOrder (output, PictureGetSubpixelOrder (pScreen)); RROutputSetSubpixelOrder(output, PictureGetSubpixelOrder(pScreen));
#endif #endif
} }
...@@ -113,65 +110,60 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations) ...@@ -113,65 +110,60 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations)
return; return;
/* check rotations */ /* check rotations */
if (rotations != crtc->rotations) if (rotations != crtc->rotations) {
{
crtc->rotations = rotations; crtc->rotations = rotations;
crtc->changed = TRUE; crtc->changed = TRUE;
pScrPriv->changed = TRUE; pScrPriv->changed = TRUE;
} }
/* regenerate mode list */ /* regenerate mode list */
for (i = 0; i < pScrPriv->nSizes; i++) for (i = 0; i < pScrPriv->nSizes; i++) {
{
RRScreenSizePtr size = &pScrPriv->pSizes[i]; RRScreenSizePtr size = &pScrPriv->pSizes[i];
int r; int r;
if (size->nRates) if (size->nRates) {
{ for (r = 0; r < size->nRates; r++) {
for (r = 0; r < size->nRates; r++) mode = RROldModeAdd(output, size, size->pRates[r].rate);
{
mode = RROldModeAdd (output, size, size->pRates[r].rate);
if (i == pScrPriv->size && if (i == pScrPriv->size &&
size->pRates[r].rate == pScrPriv->rate) size->pRates[r].rate == pScrPriv->rate) {
{
newMode = mode; newMode = mode;
} }
} }
xfree (size->pRates); xfree(size->pRates);
} }
else else {
{ mode = RROldModeAdd(output, size, 0);
mode = RROldModeAdd (output, size, 0);
if (i == pScrPriv->size) if (i == pScrPriv->size)
newMode = mode; newMode = mode;
} }
} }
if (pScrPriv->nSizes) if (pScrPriv->nSizes)
xfree (pScrPriv->pSizes); xfree(pScrPriv->pSizes);
pScrPriv->pSizes = NULL; pScrPriv->pSizes = NULL;
pScrPriv->nSizes = 0; pScrPriv->nSizes = 0;
/* find size bounds */ /* find size bounds */
for (i = 0; i < output->numModes + output->numUserModes; i++) for (i = 0; i < output->numModes + output->numUserModes; i++) {
{
mode = (i < output->numModes ? mode = (i < output->numModes ?
output->modes[i] : output->modes[i] : output->userModes[i - output->numModes]);
output->userModes[i-output->numModes]);
width = mode->mode.width; width = mode->mode.width;
height = mode->mode.height; height = mode->mode.height;
if (width < minWidth) minWidth = width; if (width < minWidth)
if (width > maxWidth) maxWidth = width; minWidth = width;
if (height < minHeight) minHeight = height; if (width > maxWidth)
if (height > maxHeight) maxHeight = height; maxWidth = width;
if (height < minHeight)
minHeight = height;
if (height > maxHeight)
maxHeight = height;
} }
RRScreenSetSizeRange (pScreen, minWidth, minHeight, maxWidth, maxHeight); RRScreenSetSizeRange(pScreen, minWidth, minHeight, maxWidth, maxHeight);
/* notice current mode */ /* notice current mode */
if (newMode) if (newMode)
RRCrtcNotify (crtc, newMode, 0, 0, pScrPriv->rotation, RRCrtcNotify(crtc, newMode, 0, 0, pScrPriv->rotation, 1, &output);
1, &output);
} }
#endif #endif
...@@ -179,9 +171,9 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations) ...@@ -179,9 +171,9 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations)
* Poll the driver for changed information * Poll the driver for changed information
*/ */
Bool Bool
RRGetInfo (ScreenPtr pScreen) RRGetInfo(ScreenPtr pScreen)
{ {
rrScrPriv (pScreen); rrScrPriv(pScreen);
Rotation rotations; Rotation rotations;
int i; int i;
...@@ -199,9 +191,9 @@ RRGetInfo (ScreenPtr pScreen) ...@@ -199,9 +191,9 @@ RRGetInfo (ScreenPtr pScreen)
#if RANDR_10_INTERFACE #if RANDR_10_INTERFACE
if (pScrPriv->nSizes) if (pScrPriv->nSizes)
RRScanOldConfig (pScreen, rotations); RRScanOldConfig(pScreen, rotations);
#endif #endif
RRTellChanged (pScreen); RRTellChanged(pScreen);
return TRUE; return TRUE;
} }
...@@ -209,19 +201,16 @@ RRGetInfo (ScreenPtr pScreen) ...@@ -209,19 +201,16 @@ RRGetInfo (ScreenPtr pScreen)
* Register the range of sizes for the screen * Register the range of sizes for the screen
*/ */
void void
RRScreenSetSizeRange (ScreenPtr pScreen, RRScreenSetSizeRange(ScreenPtr pScreen,
CARD16 minWidth, CARD16 minWidth,
CARD16 minHeight, CARD16 minHeight, CARD16 maxWidth, CARD16 maxHeight)
CARD16 maxWidth,
CARD16 maxHeight)
{ {
rrScrPriv (pScreen); rrScrPriv(pScreen);
if (!pScrPriv) if (!pScrPriv)
return; return;
if (pScrPriv->minWidth == minWidth && pScrPriv->minHeight == minHeight && if (pScrPriv->minWidth == minWidth && pScrPriv->minHeight == minHeight &&
pScrPriv->maxWidth == maxWidth && pScrPriv->maxHeight == maxHeight) pScrPriv->maxWidth == maxWidth && pScrPriv->maxHeight == maxHeight) {
{
return; return;
} }
...@@ -235,8 +224,7 @@ RRScreenSetSizeRange (ScreenPtr pScreen, ...@@ -235,8 +224,7 @@ RRScreenSetSizeRange (ScreenPtr pScreen,
#ifdef RANDR_10_INTERFACE #ifdef RANDR_10_INTERFACE
static Bool static Bool
RRScreenSizeMatches (RRScreenSizePtr a, RRScreenSizeMatches(RRScreenSizePtr a, RRScreenSizePtr b)
RRScreenSizePtr b)
{ {
if (a->width != b->width) if (a->width != b->width)
return FALSE; return FALSE;
...@@ -250,13 +238,10 @@ RRScreenSizeMatches (RRScreenSizePtr a, ...@@ -250,13 +238,10 @@ RRScreenSizeMatches (RRScreenSizePtr a,
} }
RRScreenSizePtr RRScreenSizePtr
RRRegisterSize (ScreenPtr pScreen, RRRegisterSize(ScreenPtr pScreen,
short width, short width, short height, short mmWidth, short mmHeight)
short height,
short mmWidth,
short mmHeight)
{ {
rrScrPriv (pScreen); rrScrPriv(pScreen);
int i; int i;
RRScreenSize tmp; RRScreenSize tmp;
RRScreenSizePtr pNew; RRScreenSizePtr pNew;
...@@ -266,26 +251,25 @@ RRRegisterSize (ScreenPtr pScreen, ...@@ -266,26 +251,25 @@ RRRegisterSize (ScreenPtr pScreen,
tmp.id = 0; tmp.id = 0;
tmp.width = width; tmp.width = width;
tmp.height= height; tmp.height = height;
tmp.mmWidth = mmWidth; tmp.mmWidth = mmWidth;
tmp.mmHeight = mmHeight; tmp.mmHeight = mmHeight;
tmp.pRates = 0; tmp.pRates = 0;
tmp.nRates = 0; tmp.nRates = 0;
for (i = 0; i < pScrPriv->nSizes; i++) for (i = 0; i < pScrPriv->nSizes; i++)
if (RRScreenSizeMatches (&tmp, &pScrPriv->pSizes[i])) if (RRScreenSizeMatches(&tmp, &pScrPriv->pSizes[i]))
return &pScrPriv->pSizes[i]; return &pScrPriv->pSizes[i];
pNew = xrealloc (pScrPriv->pSizes, pNew = xrealloc(pScrPriv->pSizes,
(pScrPriv->nSizes + 1) * sizeof (RRScreenSize)); (pScrPriv->nSizes + 1) * sizeof(RRScreenSize));
if (!pNew) if (!pNew)
return 0; return 0;
pNew[pScrPriv->nSizes++] = tmp; pNew[pScrPriv->nSizes++] = tmp;
pScrPriv->pSizes = pNew; pScrPriv->pSizes = pNew;
return &pNew[pScrPriv->nSizes-1]; return &pNew[pScrPriv->nSizes - 1];
} }
Bool RRRegisterRate (ScreenPtr pScreen, Bool
RRScreenSizePtr pSize, RRRegisterRate(ScreenPtr pScreen, RRScreenSizePtr pSize, int rate)
int rate)
{ {
rrScrPriv(pScreen); rrScrPriv(pScreen);
int i; int i;
...@@ -298,8 +282,7 @@ Bool RRRegisterRate (ScreenPtr pScreen, ...@@ -298,8 +282,7 @@ Bool RRRegisterRate (ScreenPtr pScreen,
if (pSize->pRates[i].rate == rate) if (pSize->pRates[i].rate == rate)
return TRUE; return TRUE;
pNew = xrealloc (pSize->pRates, pNew = xrealloc(pSize->pRates, (pSize->nRates + 1) * sizeof(RRScreenRate));
(pSize->nRates + 1) * sizeof (RRScreenRate));
if (!pNew) if (!pNew)
return FALSE; return FALSE;
pRate = &pNew[pSize->nRates++]; pRate = &pNew[pSize->nRates++];
...@@ -311,7 +294,7 @@ Bool RRRegisterRate (ScreenPtr pScreen, ...@@ -311,7 +294,7 @@ Bool RRRegisterRate (ScreenPtr pScreen,
Rotation Rotation
RRGetRotation(ScreenPtr pScreen) RRGetRotation(ScreenPtr pScreen)
{ {
RROutputPtr output = RRFirstOutput (pScreen); RROutputPtr output = RRFirstOutput(pScreen);
if (!output) if (!output)
return RR_Rotate_0; return RR_Rotate_0;
...@@ -320,12 +303,10 @@ RRGetRotation(ScreenPtr pScreen) ...@@ -320,12 +303,10 @@ RRGetRotation(ScreenPtr pScreen)
} }
void void
RRSetCurrentConfig (ScreenPtr pScreen, RRSetCurrentConfig(ScreenPtr pScreen,
Rotation rotation, Rotation rotation, int rate, RRScreenSizePtr pSize)
int rate,
RRScreenSizePtr pSize)
{ {
rrScrPriv (pScreen); rrScrPriv(pScreen);
if (!pScrPriv) if (!pScrPriv)
return; return;
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
*/ */
static Bool static Bool
RRCrtcContainsPosition (RRCrtcPtr crtc, int x, int y) RRCrtcContainsPosition(RRCrtcPtr crtc, int x, int y)
{ {
RRModePtr mode = crtc->mode; RRModePtr mode = crtc->mode;
int scan_width, scan_height; int scan_width, scan_height;
...@@ -39,7 +39,7 @@ RRCrtcContainsPosition (RRCrtcPtr crtc, int x, int y) ...@@ -39,7 +39,7 @@ RRCrtcContainsPosition (RRCrtcPtr crtc, int x, int y)
if (!mode) if (!mode)
return FALSE; return FALSE;
RRCrtcGetScanoutSize (crtc, &scan_width, &scan_height); RRCrtcGetScanoutSize(crtc, &scan_width, &scan_height);
if (crtc->x <= x && x < crtc->x + scan_width && if (crtc->x <= x && x < crtc->x + scan_width &&
crtc->y <= y && y < crtc->y + scan_height) crtc->y <= y && y < crtc->y + scan_height)
...@@ -51,16 +51,15 @@ RRCrtcContainsPosition (RRCrtcPtr crtc, int x, int y) ...@@ -51,16 +51,15 @@ RRCrtcContainsPosition (RRCrtcPtr crtc, int x, int y)
* Find the CRTC nearest the specified position, ignoring 'skip' * Find the CRTC nearest the specified position, ignoring 'skip'
*/ */
static void static void
RRPointerToNearestCrtc (ScreenPtr pScreen, int x, int y, RRCrtcPtr skip) RRPointerToNearestCrtc(ScreenPtr pScreen, int x, int y, RRCrtcPtr skip)
{ {
rrScrPriv (pScreen); rrScrPriv(pScreen);
int c; int c;
RRCrtcPtr nearest = NULL; RRCrtcPtr nearest = NULL;
int best = 0; int best = 0;
int best_dx = 0, best_dy = 0; int best_dx = 0, best_dy = 0;
for (c = 0; c < pScrPriv->numCrtcs; c++) for (c = 0; c < pScrPriv->numCrtcs; c++) {
{
RRCrtcPtr crtc = pScrPriv->crtcs[c]; RRCrtcPtr crtc = pScrPriv->crtcs[c];
RRModePtr mode = crtc->mode; RRModePtr mode = crtc->mode;
int dx, dy; int dx, dy;
...@@ -72,7 +71,7 @@ RRPointerToNearestCrtc (ScreenPtr pScreen, int x, int y, RRCrtcPtr skip) ...@@ -72,7 +71,7 @@ RRPointerToNearestCrtc (ScreenPtr pScreen, int x, int y, RRCrtcPtr skip)
if (crtc == skip) if (crtc == skip)
continue; continue;
RRCrtcGetScanoutSize (crtc, &scan_width, &scan_height); RRCrtcGetScanoutSize(crtc, &scan_width, &scan_height);
if (x < crtc->x) if (x < crtc->x)
dx = crtc->x - x; dx = crtc->x - x;
...@@ -87,8 +86,7 @@ RRPointerToNearestCrtc (ScreenPtr pScreen, int x, int y, RRCrtcPtr skip) ...@@ -87,8 +86,7 @@ RRPointerToNearestCrtc (ScreenPtr pScreen, int x, int y, RRCrtcPtr skip)
else else
dy = 0; dy = 0;
dist = dx + dy; dist = dx + dy;
if (!nearest || dist < best) if (!nearest || dist < best) {
{
nearest = crtc; nearest = crtc;
best_dx = dx; best_dx = dx;
best_dy = dy; best_dy = dy;
...@@ -100,23 +98,21 @@ RRPointerToNearestCrtc (ScreenPtr pScreen, int x, int y, RRCrtcPtr skip) ...@@ -100,23 +98,21 @@ RRPointerToNearestCrtc (ScreenPtr pScreen, int x, int y, RRCrtcPtr skip)
} }
void void
RRPointerMoved (ScreenPtr pScreen, int x, int y) RRPointerMoved(ScreenPtr pScreen, int x, int y)
{ {
rrScrPriv (pScreen); rrScrPriv(pScreen);
RRCrtcPtr pointerCrtc = pScrPriv->pointerCrtc; RRCrtcPtr pointerCrtc = pScrPriv->pointerCrtc;
int c; int c;
/* Check last known CRTC */ /* Check last known CRTC */
if (pointerCrtc && RRCrtcContainsPosition (pointerCrtc, x, y)) if (pointerCrtc && RRCrtcContainsPosition(pointerCrtc, x, y))
return; return;
/* Check all CRTCs */ /* Check all CRTCs */
for (c = 0; c < pScrPriv->numCrtcs; c++) for (c = 0; c < pScrPriv->numCrtcs; c++) {
{
RRCrtcPtr crtc = pScrPriv->crtcs[c]; RRCrtcPtr crtc = pScrPriv->crtcs[c];
if (RRCrtcContainsPosition (crtc, x, y)) if (RRCrtcContainsPosition(crtc, x, y)) {
{
/* Remember containing CRTC */ /* Remember containing CRTC */
pScrPriv->pointerCrtc = crtc; pScrPriv->pointerCrtc = crtc;
return; return;
...@@ -124,7 +120,7 @@ RRPointerMoved (ScreenPtr pScreen, int x, int y) ...@@ -124,7 +120,7 @@ RRPointerMoved (ScreenPtr pScreen, int x, int y)
} }
/* None contain pointer, find nearest */ /* None contain pointer, find nearest */
RRPointerToNearestCrtc (pScreen, x, y, pointerCrtc); RRPointerToNearestCrtc(pScreen, x, y, pointerCrtc);
} }
/* /*
...@@ -132,14 +128,14 @@ RRPointerMoved (ScreenPtr pScreen, int x, int y) ...@@ -132,14 +128,14 @@ RRPointerMoved (ScreenPtr pScreen, int x, int y)
* CRTC * CRTC
*/ */
void void
RRPointerScreenConfigured (ScreenPtr pScreen) RRPointerScreenConfigured(ScreenPtr pScreen)
{ {
WindowPtr pRoot = GetCurrentRootWindow (); WindowPtr pRoot = GetCurrentRootWindow();
ScreenPtr pCurrentScreen = pRoot ? pRoot->drawable.pScreen : NULL; ScreenPtr pCurrentScreen = pRoot ? pRoot->drawable.pScreen : NULL;
int x, y; int x, y;
if (pScreen != pCurrentScreen) if (pScreen != pCurrentScreen)
return; return;
GetSpritePosition (&x, &y); GetSpritePosition(&x, &y);
RRPointerToNearestCrtc (pScreen, x, y, NULL); RRPointerToNearestCrtc(pScreen, x, y, NULL);
} }
...@@ -23,9 +23,10 @@ ...@@ -23,9 +23,10 @@
#include "randrstr.h" #include "randrstr.h"
static int static int
SProcRRQueryVersion (ClientPtr client) SProcRRQueryVersion(ClientPtr client)
{ {
register int n; register int n;
REQUEST(xRRQueryVersionReq); REQUEST(xRRQueryVersionReq);
REQUEST_SIZE_MATCH(xRRQueryVersionReq); REQUEST_SIZE_MATCH(xRRQueryVersionReq);
...@@ -36,9 +37,10 @@ SProcRRQueryVersion (ClientPtr client) ...@@ -36,9 +37,10 @@ SProcRRQueryVersion (ClientPtr client)
} }
static int static int
SProcRRGetScreenInfo (ClientPtr client) SProcRRGetScreenInfo(ClientPtr client)
{ {
register int n; register int n;
REQUEST(xRRGetScreenInfoReq); REQUEST(xRRGetScreenInfoReq);
REQUEST_SIZE_MATCH(xRRGetScreenInfoReq); REQUEST_SIZE_MATCH(xRRGetScreenInfoReq);
...@@ -48,19 +50,18 @@ SProcRRGetScreenInfo (ClientPtr client) ...@@ -48,19 +50,18 @@ SProcRRGetScreenInfo (ClientPtr client)
} }
static int static int
SProcRRSetScreenConfig (ClientPtr client) SProcRRSetScreenConfig(ClientPtr client)
{ {
register int n; register int n;
REQUEST(xRRSetScreenConfigReq); REQUEST(xRRSetScreenConfigReq);
if (RRClientKnowsRates (client)) if (RRClientKnowsRates(client)) {
{ REQUEST_SIZE_MATCH(xRRSetScreenConfigReq);
REQUEST_SIZE_MATCH (xRRSetScreenConfigReq); swaps(&stuff->rate, n);
swaps (&stuff->rate, n);
} }
else else {
{ REQUEST_SIZE_MATCH(xRR1_0SetScreenConfigReq);
REQUEST_SIZE_MATCH (xRR1_0SetScreenConfigReq);
} }
swaps(&stuff->length, n); swaps(&stuff->length, n);
...@@ -72,9 +73,10 @@ SProcRRSetScreenConfig (ClientPtr client) ...@@ -72,9 +73,10 @@ SProcRRSetScreenConfig (ClientPtr client)
} }
static int static int
SProcRRSelectInput (ClientPtr client) SProcRRSelectInput(ClientPtr client)
{ {
register int n; register int n;
REQUEST(xRRSelectInputReq); REQUEST(xRRSelectInputReq);
REQUEST_SIZE_MATCH(xRRSelectInputReq); REQUEST_SIZE_MATCH(xRRSelectInputReq);
...@@ -85,9 +87,10 @@ SProcRRSelectInput (ClientPtr client) ...@@ -85,9 +87,10 @@ SProcRRSelectInput (ClientPtr client)
} }
static int static int
SProcRRGetScreenSizeRange (ClientPtr client) SProcRRGetScreenSizeRange(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRGetScreenSizeRangeReq); REQUEST(xRRGetScreenSizeRangeReq);
REQUEST_SIZE_MATCH(xRRGetScreenSizeRangeReq); REQUEST_SIZE_MATCH(xRRGetScreenSizeRangeReq);
...@@ -97,9 +100,10 @@ SProcRRGetScreenSizeRange (ClientPtr client) ...@@ -97,9 +100,10 @@ SProcRRGetScreenSizeRange (ClientPtr client)
} }
static int static int
SProcRRSetScreenSize (ClientPtr client) SProcRRSetScreenSize(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRSetScreenSizeReq); REQUEST(xRRSetScreenSizeReq);
REQUEST_SIZE_MATCH(xRRSetScreenSizeReq); REQUEST_SIZE_MATCH(xRRSetScreenSizeReq);
...@@ -113,9 +117,10 @@ SProcRRSetScreenSize (ClientPtr client) ...@@ -113,9 +117,10 @@ SProcRRSetScreenSize (ClientPtr client)
} }
static int static int
SProcRRGetScreenResources (ClientPtr client) SProcRRGetScreenResources(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRGetScreenResourcesReq); REQUEST(xRRGetScreenResourcesReq);
REQUEST_SIZE_MATCH(xRRGetScreenResourcesReq); REQUEST_SIZE_MATCH(xRRGetScreenResourcesReq);
...@@ -125,9 +130,10 @@ SProcRRGetScreenResources (ClientPtr client) ...@@ -125,9 +130,10 @@ SProcRRGetScreenResources (ClientPtr client)
} }
static int static int
SProcRRGetOutputInfo (ClientPtr client) SProcRRGetOutputInfo(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRGetOutputInfoReq);; REQUEST(xRRGetOutputInfoReq);;
REQUEST_SIZE_MATCH(xRRGetOutputInfoReq); REQUEST_SIZE_MATCH(xRRGetOutputInfoReq);
...@@ -138,9 +144,10 @@ SProcRRGetOutputInfo (ClientPtr client) ...@@ -138,9 +144,10 @@ SProcRRGetOutputInfo (ClientPtr client)
} }
static int static int
SProcRRListOutputProperties (ClientPtr client) SProcRRListOutputProperties(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRListOutputPropertiesReq); REQUEST(xRRListOutputPropertiesReq);
REQUEST_SIZE_MATCH(xRRListOutputPropertiesReq); REQUEST_SIZE_MATCH(xRRListOutputPropertiesReq);
...@@ -150,9 +157,10 @@ SProcRRListOutputProperties (ClientPtr client) ...@@ -150,9 +157,10 @@ SProcRRListOutputProperties (ClientPtr client)
} }
static int static int
SProcRRQueryOutputProperty (ClientPtr client) SProcRRQueryOutputProperty(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRQueryOutputPropertyReq); REQUEST(xRRQueryOutputPropertyReq);
REQUEST_SIZE_MATCH(xRRQueryOutputPropertyReq); REQUEST_SIZE_MATCH(xRRQueryOutputPropertyReq);
...@@ -163,9 +171,10 @@ SProcRRQueryOutputProperty (ClientPtr client) ...@@ -163,9 +171,10 @@ SProcRRQueryOutputProperty (ClientPtr client)
} }
static int static int
SProcRRConfigureOutputProperty (ClientPtr client) SProcRRConfigureOutputProperty(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRConfigureOutputPropertyReq); REQUEST(xRRConfigureOutputPropertyReq);
swaps(&stuff->length, n); swaps(&stuff->length, n);
...@@ -176,18 +185,19 @@ SProcRRConfigureOutputProperty (ClientPtr client) ...@@ -176,18 +185,19 @@ SProcRRConfigureOutputProperty (ClientPtr client)
} }
static int static int
SProcRRChangeOutputProperty (ClientPtr client) SProcRRChangeOutputProperty(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRChangeOutputPropertyReq); REQUEST(xRRChangeOutputPropertyReq);
REQUEST_AT_LEAST_SIZE (xRRChangeOutputPropertyReq); REQUEST_AT_LEAST_SIZE(xRRChangeOutputPropertyReq);
swaps(&stuff->length, n); swaps(&stuff->length, n);
swapl(&stuff->output, n); swapl(&stuff->output, n);
swapl(&stuff->property, n); swapl(&stuff->property, n);
swapl(&stuff->type, n); swapl(&stuff->type, n);
swapl(&stuff->nUnits, n); swapl(&stuff->nUnits, n);
switch(stuff->format) { switch (stuff->format) {
case 8: case 8:
break; break;
case 16: case 16:
...@@ -204,9 +214,10 @@ SProcRRChangeOutputProperty (ClientPtr client) ...@@ -204,9 +214,10 @@ SProcRRChangeOutputProperty (ClientPtr client)
} }
static int static int
SProcRRDeleteOutputProperty (ClientPtr client) SProcRRDeleteOutputProperty(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRDeleteOutputPropertyReq); REQUEST(xRRDeleteOutputPropertyReq);
REQUEST_SIZE_MATCH(xRRDeleteOutputPropertyReq); REQUEST_SIZE_MATCH(xRRDeleteOutputPropertyReq);
...@@ -217,9 +228,10 @@ SProcRRDeleteOutputProperty (ClientPtr client) ...@@ -217,9 +228,10 @@ SProcRRDeleteOutputProperty (ClientPtr client)
} }
static int static int
SProcRRGetOutputProperty (ClientPtr client) SProcRRGetOutputProperty(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRGetOutputPropertyReq); REQUEST(xRRGetOutputPropertyReq);
REQUEST_SIZE_MATCH(xRRGetOutputPropertyReq); REQUEST_SIZE_MATCH(xRRGetOutputPropertyReq);
...@@ -233,10 +245,11 @@ SProcRRGetOutputProperty (ClientPtr client) ...@@ -233,10 +245,11 @@ SProcRRGetOutputProperty (ClientPtr client)
} }
static int static int
SProcRRCreateMode (ClientPtr client) SProcRRCreateMode(ClientPtr client)
{ {
int n; int n;
xRRModeInfo *modeinfo; xRRModeInfo *modeinfo;
REQUEST(xRRCreateModeReq); REQUEST(xRRCreateModeReq);
REQUEST_AT_LEAST_SIZE(xRRCreateModeReq); REQUEST_AT_LEAST_SIZE(xRRCreateModeReq);
...@@ -260,9 +273,10 @@ SProcRRCreateMode (ClientPtr client) ...@@ -260,9 +273,10 @@ SProcRRCreateMode (ClientPtr client)
} }
static int static int
SProcRRDestroyMode (ClientPtr client) SProcRRDestroyMode(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRDestroyModeReq); REQUEST(xRRDestroyModeReq);
REQUEST_SIZE_MATCH(xRRDestroyModeReq); REQUEST_SIZE_MATCH(xRRDestroyModeReq);
...@@ -272,9 +286,10 @@ SProcRRDestroyMode (ClientPtr client) ...@@ -272,9 +286,10 @@ SProcRRDestroyMode (ClientPtr client)
} }
static int static int
SProcRRAddOutputMode (ClientPtr client) SProcRRAddOutputMode(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRAddOutputModeReq); REQUEST(xRRAddOutputModeReq);
REQUEST_SIZE_MATCH(xRRAddOutputModeReq); REQUEST_SIZE_MATCH(xRRAddOutputModeReq);
...@@ -285,9 +300,10 @@ SProcRRAddOutputMode (ClientPtr client) ...@@ -285,9 +300,10 @@ SProcRRAddOutputMode (ClientPtr client)
} }
static int static int
SProcRRDeleteOutputMode (ClientPtr client) SProcRRDeleteOutputMode(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRDeleteOutputModeReq); REQUEST(xRRDeleteOutputModeReq);
REQUEST_SIZE_MATCH(xRRDeleteOutputModeReq); REQUEST_SIZE_MATCH(xRRDeleteOutputModeReq);
...@@ -298,9 +314,10 @@ SProcRRDeleteOutputMode (ClientPtr client) ...@@ -298,9 +314,10 @@ SProcRRDeleteOutputMode (ClientPtr client)
} }
static int static int
SProcRRGetCrtcInfo (ClientPtr client) SProcRRGetCrtcInfo(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRGetCrtcInfoReq); REQUEST(xRRGetCrtcInfoReq);
REQUEST_SIZE_MATCH(xRRGetCrtcInfoReq); REQUEST_SIZE_MATCH(xRRGetCrtcInfoReq);
...@@ -311,9 +328,10 @@ SProcRRGetCrtcInfo (ClientPtr client) ...@@ -311,9 +328,10 @@ SProcRRGetCrtcInfo (ClientPtr client)
} }
static int static int
SProcRRSetCrtcConfig (ClientPtr client) SProcRRSetCrtcConfig(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRSetCrtcConfigReq); REQUEST(xRRSetCrtcConfigReq);
REQUEST_AT_LEAST_SIZE(xRRSetCrtcConfigReq); REQUEST_AT_LEAST_SIZE(xRRSetCrtcConfigReq);
...@@ -330,9 +348,10 @@ SProcRRSetCrtcConfig (ClientPtr client) ...@@ -330,9 +348,10 @@ SProcRRSetCrtcConfig (ClientPtr client)
} }
static int static int
SProcRRGetCrtcGammaSize (ClientPtr client) SProcRRGetCrtcGammaSize(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRGetCrtcGammaSizeReq); REQUEST(xRRGetCrtcGammaSizeReq);
REQUEST_SIZE_MATCH(xRRGetCrtcGammaSizeReq); REQUEST_SIZE_MATCH(xRRGetCrtcGammaSizeReq);
...@@ -342,9 +361,10 @@ SProcRRGetCrtcGammaSize (ClientPtr client) ...@@ -342,9 +361,10 @@ SProcRRGetCrtcGammaSize (ClientPtr client)
} }
static int static int
SProcRRGetCrtcGamma (ClientPtr client) SProcRRGetCrtcGamma(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRGetCrtcGammaReq); REQUEST(xRRGetCrtcGammaReq);
REQUEST_SIZE_MATCH(xRRGetCrtcGammaReq); REQUEST_SIZE_MATCH(xRRGetCrtcGammaReq);
...@@ -354,9 +374,10 @@ SProcRRGetCrtcGamma (ClientPtr client) ...@@ -354,9 +374,10 @@ SProcRRGetCrtcGamma (ClientPtr client)
} }
static int static int
SProcRRSetCrtcGamma (ClientPtr client) SProcRRSetCrtcGamma(ClientPtr client)
{ {
int n; int n;
REQUEST(xRRSetCrtcGammaReq); REQUEST(xRRSetCrtcGammaReq);
REQUEST_AT_LEAST_SIZE(xRRSetCrtcGammaReq); REQUEST_AT_LEAST_SIZE(xRRSetCrtcGammaReq);
...@@ -367,7 +388,7 @@ SProcRRSetCrtcGamma (ClientPtr client) ...@@ -367,7 +388,7 @@ SProcRRSetCrtcGamma (ClientPtr client)
return (*ProcRandrVector[stuff->randrReqType]) (client); return (*ProcRandrVector[stuff->randrReqType]) (client);
} }
int (*SProcRandrVector[RRNumberRequests])(ClientPtr) = { int (*SProcRandrVector[RRNumberRequests]) (ClientPtr) = {
SProcRRQueryVersion, /* 0 */ SProcRRQueryVersion, /* 0 */
/* we skip 1 to make old clients fail pretty immediately */ /* we skip 1 to make old clients fail pretty immediately */
NULL, /* 1 SProcRandrOldGetScreenInfo */ NULL, /* 1 SProcRandrOldGetScreenInfo */
...@@ -382,11 +403,11 @@ int (*SProcRandrVector[RRNumberRequests])(ClientPtr) = { ...@@ -382,11 +403,11 @@ int (*SProcRandrVector[RRNumberRequests])(ClientPtr) = {
SProcRRSetScreenSize, /* 7 */ SProcRRSetScreenSize, /* 7 */
SProcRRGetScreenResources, /* 8 */ SProcRRGetScreenResources, /* 8 */
SProcRRGetOutputInfo, /* 9 */ SProcRRGetOutputInfo, /* 9 */
SProcRRListOutputProperties,/* 10 */ SProcRRListOutputProperties, /* 10 */
SProcRRQueryOutputProperty, /* 11 */ SProcRRQueryOutputProperty, /* 11 */
SProcRRConfigureOutputProperty, /* 12 */ SProcRRConfigureOutputProperty, /* 12 */
SProcRRChangeOutputProperty,/* 13 */ SProcRRChangeOutputProperty, /* 13 */
SProcRRDeleteOutputProperty,/* 14 */ SProcRRDeleteOutputProperty, /* 14 */
SProcRRGetOutputProperty, /* 15 */ SProcRRGetOutputProperty, /* 15 */
SProcRRCreateMode, /* 16 */ SProcRRCreateMode, /* 16 */
SProcRRDestroyMode, /* 17 */ SProcRRDestroyMode, /* 17 */
...@@ -398,4 +419,3 @@ int (*SProcRandrVector[RRNumberRequests])(ClientPtr) = { ...@@ -398,4 +419,3 @@ int (*SProcRandrVector[RRNumberRequests])(ClientPtr) = {
SProcRRGetCrtcGamma, /* 23 */ SProcRRGetCrtcGamma, /* 23 */
SProcRRSetCrtcGamma, /* 24 */ SProcRRSetCrtcGamma, /* 24 */
}; };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment