diff options
Diffstat (limited to 'xorg-server/hw')
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/ephyrdriext.c | 3 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/ephyrhostvideo.c | 15 | ||||
-rw-r--r-- | xorg-server/hw/xfree86/modes/xf86Crtc.c | 5 |
3 files changed, 16 insertions, 7 deletions
diff --git a/xorg-server/hw/kdrive/ephyr/ephyrdriext.c b/xorg-server/hw/kdrive/ephyr/ephyrdriext.c index af411848f..d730e7fd2 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrdriext.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrdriext.c @@ -682,7 +682,7 @@ ProcXF86DRIOpenConnection (register ClientPtr client) {
xXF86DRIOpenConnectionReply rep;
drm_handle_t hSAREA;
- char* busIdString;
+ char* busIdString = NULL;
REQUEST(xXF86DRIOpenConnectionReq);
REQUEST_SIZE_MATCH(xXF86DRIOpenConnectionReq);
@@ -716,6 +716,7 @@ ProcXF86DRIOpenConnection (register ClientPtr client) WriteToClient(client, sizeof(xXF86DRIOpenConnectionReply), (char *)&rep);
if (rep.busIdStringLength)
WriteToClient(client, rep.busIdStringLength, busIdString);
+ free(busIdString);
EPHYR_LOG ("leave\n") ;
return Success;
}
diff --git a/xorg-server/hw/kdrive/ephyr/ephyrhostvideo.c b/xorg-server/hw/kdrive/ephyr/ephyrhostvideo.c index 2b81c276c..94feb7826 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrhostvideo.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrhostvideo.c @@ -380,7 +380,8 @@ ephyrHostXVAdaptorHasPutVideo (const EphyrHostXVAdaptor *a_this, {
EPHYR_RETURN_VAL_IF_FAIL (a_this && a_result, FALSE) ;
- if (((XvAdaptorInfo*)a_this)->type & XvVideoMask & XvInputMask)
+ if ((((XvAdaptorInfo*)a_this)->type & (XvVideoMask | XvInputMask)) ==
+ (XvVideoMask | XvInputMask))
*a_result = TRUE ;
else
*a_result = FALSE ;
@@ -391,7 +392,8 @@ Bool ephyrHostXVAdaptorHasGetVideo (const EphyrHostXVAdaptor *a_this,
Bool *a_result)
{
- if (((XvAdaptorInfo*)a_this)->type & XvVideoMask & XvOutputMask)
+ if ((((XvAdaptorInfo*)a_this)->type & (XvVideoMask | XvOutputMask)) ==
+ (XvVideoMask | XvOutputMask))
*a_result = TRUE ;
else
*a_result = FALSE ;
@@ -404,7 +406,8 @@ ephyrHostXVAdaptorHasPutStill (const EphyrHostXVAdaptor *a_this, {
EPHYR_RETURN_VAL_IF_FAIL (a_this && a_result, FALSE) ;
- if (((XvAdaptorInfo*)a_this)->type & XvStillMask && XvInputMask)
+ if ((((XvAdaptorInfo*)a_this)->type & (XvStillMask | XvInputMask)) ==
+ (XvStillMask | XvInputMask))
*a_result = TRUE ;
else
*a_result = FALSE ;
@@ -417,7 +420,8 @@ ephyrHostXVAdaptorHasGetStill (const EphyrHostXVAdaptor *a_this, {
EPHYR_RETURN_VAL_IF_FAIL (a_this && a_result, FALSE) ;
- if (((XvAdaptorInfo*)a_this)->type & XvStillMask && XvOutputMask)
+ if ((((XvAdaptorInfo*)a_this)->type & (XvStillMask | XvOutputMask)) ==
+ (XvStillMask | XvOutputMask))
*a_result = TRUE ;
else
*a_result = FALSE ;
@@ -430,7 +434,8 @@ ephyrHostXVAdaptorHasPutImage (const EphyrHostXVAdaptor *a_this, {
EPHYR_RETURN_VAL_IF_FAIL (a_this && a_result, FALSE) ;
- if (((XvAdaptorInfo*)a_this)->type & XvImageMask && XvInputMask)
+ if ((((XvAdaptorInfo*)a_this)->type & (XvImageMask | XvInputMask)) ==
+ (XvImageMask | XvInputMask))
*a_result = TRUE ;
else
*a_result = FALSE ;
diff --git a/xorg-server/hw/xfree86/modes/xf86Crtc.c b/xorg-server/hw/xfree86/modes/xf86Crtc.c index 6a56e31cc..beb9be66e 100644 --- a/xorg-server/hw/xfree86/modes/xf86Crtc.c +++ b/xorg-server/hw/xfree86/modes/xf86Crtc.c @@ -572,8 +572,11 @@ xf86OutputInitialRotation (xf86OutputPtr output) OPTION_ROTATE);
int i;
- if (!rotate_name)
+ if (!rotate_name) {
+ if (output->initial_rotation)
+ return output->initial_rotation;
return RR_Rotate_0;
+ }
for (i = 0; i < 4; i++)
if (xf86nameCompare (direction[i], rotate_name) == 0)
|