diff options
Diffstat (limited to 'widget/gtk')
-rw-r--r-- | widget/gtk/GfxInfo.cpp | 23 | ||||
-rw-r--r-- | widget/gtk/nsWindow.cpp | 5 |
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); |