(hopefully) bypass detection if stumbled -due to broken drivers- before

svn path=/trunk/KDE/kdebase/workspace/; revision=1056312
icc-effect-5.14.5
Thomas Lübking 2009-11-29 20:35:47 +00:00
parent 4efdd7dda2
commit 564843d76f
1 changed files with 10 additions and 2 deletions

View File

@ -127,6 +127,12 @@ KWinCompositingConfig::KWinCompositingConfig(QWidget *parent, const QVariantList
connect(ui.compositingStateButton, SIGNAL(clicked(bool)), kwinInterface, SLOT(toggleCompositing()));
connect(kwinInterface, SIGNAL(compositingToggled(bool)), this, SLOT(setupCompositingState(bool)));
// NOTICE: this is intended to workaround broken GL implementations that succesfully segfault on glXQuery :-(
KConfigGroup gl_workaround_config(mKWinConfig, "Compositing");
bool checkIsSave = gl_workaround_config.readEntry("CheckIsSafe", true);
gl_workaround_config.writeEntry("CheckIsSafe", false);
gl_workaround_config.sync();
// Open the temporary config file
// Temporary conf file is used to synchronize effect checkboxes with effect
// selector by loading/saving effects from/to temp config when active tab
@ -134,12 +140,11 @@ KWinCompositingConfig::KWinCompositingConfig(QWidget *parent, const QVariantList
mTmpConfigFile.open();
mTmpConfig = KSharedConfig::openConfig(mTmpConfigFile.fileName());
if( CompositingPrefs::compositingPossible() )
if( checkIsSave && CompositingPrefs::compositingPossible() )
{
// Driver-specific config detection
mDefaultPrefs.detect();
initEffectSelector();
// Initialize the user interface with the config loaded from kwinrc.
load();
}
@ -159,6 +164,9 @@ KWinCompositingConfig::KWinCompositingConfig(QWidget *parent, const QVariantList
setupCompositingState( false, false );
}
gl_workaround_config.writeEntry("CheckIsSafe", checkIsSave);
gl_workaround_config.sync();
KAboutData *about = new KAboutData(I18N_NOOP("kcmkwincompositing"), 0,
ki18n("KWin Desktop Effects Configuration Module"),
0, KLocalizedString(), KAboutData::License_GPL, ki18n("(c) 2007 Rivo Laks"));