aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw')
-rw-r--r--xorg-server/hw/kdrive/ephyr/ephyrdriext.c3
-rw-r--r--xorg-server/hw/kdrive/ephyr/ephyrhostvideo.c15
-rw-r--r--xorg-server/hw/xfree86/modes/xf86Crtc.c5
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)