summaryrefslogtreecommitdiffstats
path: root/widget/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'widget/gtk')
-rw-r--r--widget/gtk/GfxInfo.cpp23
-rw-r--r--widget/gtk/nsWindow.cpp5
2 files changed, 17 insertions, 11 deletions
diff --git a/widget/gtk/GfxInfo.cpp b/widget/gtk/GfxInfo.cpp
index 7382b066d1..0c1c544b8f 100644
--- a/widget/gtk/GfxInfo.cpp
+++ b/widget/gtk/GfxInfo.cpp
@@ -1102,15 +1102,14 @@ nsresult GfxInfo::GetFeatureStatusImpl(
GetData();
- if (aFeature == nsIGfxInfo::FEATURE_BACKDROP_FILTER) {
- *aStatus = nsIGfxInfo::FEATURE_STATUS_OK;
- return NS_OK;
- }
-
if (mGlxTestError) {
- // If glxtest failed, block all features by default.
- *aStatus = nsIGfxInfo::FEATURE_BLOCKED_DEVICE;
- aFailureId = "FEATURE_FAILURE_GLXTEST_FAILED";
+ // If glxtest failed, block most features by default.
+ if (OnlyAllowFeatureOnKnownConfig(aFeature)) {
+ *aStatus = nsIGfxInfo::FEATURE_BLOCKED_DEVICE;
+ aFailureId = "FEATURE_FAILURE_GLXTEST_FAILED";
+ } else {
+ *aStatus = nsIGfxInfo::FEATURE_STATUS_OK;
+ }
return NS_OK;
}
@@ -1118,8 +1117,12 @@ nsresult GfxInfo::GetFeatureStatusImpl(
// We're on OpenGL 1. In most cases that indicates really old hardware.
// We better block them, rather than rely on them to fail gracefully,
// because they don't! see bug 696636
- *aStatus = nsIGfxInfo::FEATURE_BLOCKED_DEVICE;
- aFailureId = "FEATURE_FAILURE_OPENGL_1";
+ if (OnlyAllowFeatureOnKnownConfig(aFeature)) {
+ *aStatus = nsIGfxInfo::FEATURE_BLOCKED_DEVICE;
+ aFailureId = "FEATURE_FAILURE_OPENGL_1";
+ } else {
+ *aStatus = nsIGfxInfo::FEATURE_STATUS_OK;
+ }
return NS_OK;
}
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
index 8ed12c734d..149e3716e1 100644
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -3352,7 +3352,10 @@ void nsWindow::SetCursor(const Cursor& aCursor) {
// Try to set the cursor image first, and fall back to the numeric cursor.
bool fromImage = true;
- GdkCursor* newCursor = GetCursorForImage(aCursor, GdkCeiledScaleFactor());
+ GdkCursor* newCursor = nullptr;
+ if (mCustomCursorAllowed) {
+ newCursor = GetCursorForImage(aCursor, GdkCeiledScaleFactor());
+ }
if (!newCursor) {
fromImage = false;
newCursor = get_gtk_cursor(aCursor.mDefaultCursor);