summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu.herrb@laas.fr>2013-11-17 16:05:13 +0100
committerMatthieu Herrb <matthieu.herrb@laas.fr>2013-11-17 16:05:13 +0100
commitac5417c1ca878309a8d13c6802f77dd954c5b72d (patch)
treea20de6ad6862c79827f8ef5e24533e1743cb9a01
parent352ed9b33f035d58ef7f993806c503b4c133db28 (diff)
parent384588bd8408d50b1b29b174af75c7b1cd3ff60d (diff)
Merge remote-tracking branch 'origin/server-1.14-branch' into obsd-server-1.14-branch
-rw-r--r--Xext/sync.c11
-rw-r--r--glx/glxdricommon.c24
-rw-r--r--hw/xfree86/common/xf86Bus.c5
-rw-r--r--hw/xquartz/X11Controller.m2
-rw-r--r--hw/xquartz/bundle/Info.plist.cpp8
-rw-r--r--miext/damage/damage.c5
-rw-r--r--randr/randrstr.h4
7 files changed, 44 insertions, 15 deletions
diff --git a/Xext/sync.c b/Xext/sync.c
index 9b4d0a474..dd6633f71 100644
--- a/Xext/sync.c
+++ b/Xext/sync.c
@@ -2654,7 +2654,16 @@ IdleTimeBlockHandler(pointer pCounter, struct timeval **wt, pointer LastSelectMa
IdleTimeQueryValue(counter, &idle);
counter->value = idle; /* push, so CheckTrigger works */
- if (less && XSyncValueLessOrEqual(idle, *less)) {
+ /**
+ * There's an indefinite amount of time between ProcessInputEvents()
+ * where the idle time is reset and the time we actually get here. idle
+ * may be past the lower bracket if we dawdled with the events, so
+ * check for whether we did reset and bomb out of select immediately.
+ */
+ if (less && XSyncValueGreaterThan(idle, *less) &&
+ LastEventTimeWasReset(priv->deviceid)) {
+ AdjustWaitForDelay(wt, 0);
+ } else if (less && XSyncValueLessOrEqual(idle, *less)) {
/*
* We've been idle for less than the threshold value, and someone
* wants to know about that, but now we need to know whether they
diff --git a/glx/glxdricommon.c b/glx/glxdricommon.c
index c90f38098..5686c5f64 100644
--- a/glx/glxdricommon.c
+++ b/glx/glxdricommon.c
@@ -209,6 +209,14 @@ glxConvertConfigs(const __DRIcoreExtension * core,
static const char dri_driver_path[] = DRI_DRIVER_PATH;
+/* Temporary define to allow building without a dri_interface.h from
+ * updated Mesa. Some day when we don't care about Mesa that old any
+ * more this can be removed.
+ */
+#ifndef __DRI_DRIVER_GET_EXTENSIONS
+#define __DRI_DRIVER_GET_EXTENSIONS "__driDriverGetExtensions"
+#endif
+
void *
glxProbeDriver(const char *driverName,
void **coreExt, const char *coreName, int coreVersion,
@@ -217,7 +225,8 @@ glxProbeDriver(const char *driverName,
int i;
void *driver;
char filename[PATH_MAX];
- const __DRIextension **extensions;
+ char *get_extensions_name;
+ const __DRIextension **extensions = NULL;
snprintf(filename, sizeof filename, "%s/%s_dri.so",
dri_driver_path, driverName);
@@ -229,7 +238,18 @@ glxProbeDriver(const char *driverName,
goto cleanup_failure;
}
- extensions = dlsym(driver, __DRI_DRIVER_EXTENSIONS);
+ if (asprintf(&get_extensions_name, "%s_%s",
+ __DRI_DRIVER_GET_EXTENSIONS, driverName) != -1) {
+ const __DRIextension **(*get_extensions)(void);
+
+ get_extensions = dlsym(driver, get_extensions_name);
+ if (get_extensions)
+ extensions = get_extensions();
+ free(get_extensions_name);
+ }
+
+ if (!extensions)
+ extensions = dlsym(driver, __DRI_DRIVER_EXTENSIONS);
if (extensions == NULL) {
LogMessage(X_ERROR, "AIGLX error: %s exports no extensions (%s)\n",
driverName, dlerror());
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 17e18803d..3f9ee71e6 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -266,9 +266,12 @@ xf86IsEntityPrimary(int entityIndex)
{
EntityPtr pEnt = xf86Entities[entityIndex];
+#ifdef XSERVER_LIBPCIACCESS
if (primaryBus.type == BUS_PLATFORM && pEnt->bus.type == BUS_PCI)
return MATCH_PCI_DEVICES(pEnt->bus.id.pci, primaryBus.id.plat->pdev);
- else if (primaryBus.type != pEnt->bus.type)
+#endif
+
+ if (primaryBus.type != pEnt->bus.type)
return FALSE;
switch (pEnt->bus.type) {
diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
index 737db42e7..3d094bfc7 100644
--- a/hw/xquartz/X11Controller.m
+++ b/hw/xquartz/X11Controller.m
@@ -936,7 +936,7 @@ extern char *bundle_id_prefix;
- (void) applicationWillTerminate:(NSNotification *)aNotification
{
- unsigned remain;
+ int remain;
[X11App prefs_synchronize];
/* shutdown the X server, it will exit () for us. */
diff --git a/hw/xquartz/bundle/Info.plist.cpp b/hw/xquartz/bundle/Info.plist.cpp
index b0106c6da..4b4a894a4 100644
--- a/hw/xquartz/bundle/Info.plist.cpp
+++ b/hw/xquartz/bundle/Info.plist.cpp
@@ -19,9 +19,9 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>2.7.4</string>
+ <string>2.7.5</string>
<key>CFBundleVersion</key>
- <string>2.7.4</string>
+ <string>2.7.5</string>
<key>CFBundleSignature</key>
<string>x11a</string>
<key>CSResourcesFileMapped</key>
@@ -39,9 +39,9 @@
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>NSHumanReadableCopyright</key>
- <string>© 2003-2012 Apple Inc.
+ <string>© 2003-2013 Apple Inc.
© 2003 XFree86 Project, Inc.
-© 2003-2012 X.org Foundation, Inc.
+© 2003-2013 X.org Foundation, Inc.
</string>
<key>NSMainNibFile</key>
<string>main</string>
diff --git a/miext/damage/damage.c b/miext/damage/damage.c
index a98c20ec0..3dc3180f3 100644
--- a/miext/damage/damage.c
+++ b/miext/damage/damage.c
@@ -439,10 +439,7 @@ damageValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable)
drawableDamage(pDrawable);
DAMAGE_GC_FUNC_PROLOGUE(pGC);
(*pGC->funcs->ValidateGC) (pGC, changes, pDrawable);
- if (pDamage)
- pGCPriv->ops = pGC->ops; /* so it's not NULL, so FUNC_EPILOGUE does work */
- else
- pGCPriv->ops = NULL;
+ pGCPriv->ops = pGC->ops; /* just so it's not NULL */
DAMAGE_GC_FUNC_EPILOGUE(pGC);
}
diff --git a/randr/randrstr.h b/randr/randrstr.h
index 15299fd6d..27b4ba05c 100644
--- a/randr/randrstr.h
+++ b/randr/randrstr.h
@@ -164,9 +164,9 @@ struct _rrProvider {
int nameLength;
RRPropertyPtr properties;
Bool pendingProperties;
- Bool changed;
struct _rrProvider *offload_sink;
struct _rrProvider *output_source;
+ Bool changed;
};
#if RANDR_12_INTERFACE
@@ -301,7 +301,6 @@ typedef struct _rrScrPriv {
Bool changed; /* some config changed */
Bool configChanged; /* configuration changed */
Bool layoutChanged; /* screen layout changed */
- Bool resourcesChanged; /* screen resources change */
CARD16 minWidth, minHeight;
CARD16 maxWidth, maxHeight;
@@ -338,6 +337,7 @@ typedef struct _rrScrPriv {
RRProviderDestroyProcPtr rrProviderDestroy;
+ Bool resourcesChanged; /* screen resources change */
} rrScrPrivRec, *rrScrPrivPtr;
extern _X_EXPORT DevPrivateKeyRec rrPrivKeyRec;