(hopefully) bypass detection if stumbled -due to broken drivers- before
svn path=/trunk/KDE/kdebase/workspace/; revision=1056312
This commit is contained in:
parent
4efdd7dda2
commit
564843d76f
1 changed files with 10 additions and 2 deletions
|
@ -127,6 +127,12 @@ KWinCompositingConfig::KWinCompositingConfig(QWidget *parent, const QVariantList
|
||||||
connect(ui.compositingStateButton, SIGNAL(clicked(bool)), kwinInterface, SLOT(toggleCompositing()));
|
connect(ui.compositingStateButton, SIGNAL(clicked(bool)), kwinInterface, SLOT(toggleCompositing()));
|
||||||
connect(kwinInterface, SIGNAL(compositingToggled(bool)), this, SLOT(setupCompositingState(bool)));
|
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
|
// Open the temporary config file
|
||||||
// Temporary conf file is used to synchronize effect checkboxes with effect
|
// Temporary conf file is used to synchronize effect checkboxes with effect
|
||||||
// selector by loading/saving effects from/to temp config when active tab
|
// selector by loading/saving effects from/to temp config when active tab
|
||||||
|
@ -134,12 +140,11 @@ KWinCompositingConfig::KWinCompositingConfig(QWidget *parent, const QVariantList
|
||||||
mTmpConfigFile.open();
|
mTmpConfigFile.open();
|
||||||
mTmpConfig = KSharedConfig::openConfig(mTmpConfigFile.fileName());
|
mTmpConfig = KSharedConfig::openConfig(mTmpConfigFile.fileName());
|
||||||
|
|
||||||
if( CompositingPrefs::compositingPossible() )
|
if( checkIsSave && CompositingPrefs::compositingPossible() )
|
||||||
{
|
{
|
||||||
// Driver-specific config detection
|
// Driver-specific config detection
|
||||||
mDefaultPrefs.detect();
|
mDefaultPrefs.detect();
|
||||||
initEffectSelector();
|
initEffectSelector();
|
||||||
|
|
||||||
// Initialize the user interface with the config loaded from kwinrc.
|
// Initialize the user interface with the config loaded from kwinrc.
|
||||||
load();
|
load();
|
||||||
}
|
}
|
||||||
|
@ -159,6 +164,9 @@ KWinCompositingConfig::KWinCompositingConfig(QWidget *parent, const QVariantList
|
||||||
setupCompositingState( false, false );
|
setupCompositingState( false, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gl_workaround_config.writeEntry("CheckIsSafe", checkIsSave);
|
||||||
|
gl_workaround_config.sync();
|
||||||
|
|
||||||
KAboutData *about = new KAboutData(I18N_NOOP("kcmkwincompositing"), 0,
|
KAboutData *about = new KAboutData(I18N_NOOP("kcmkwincompositing"), 0,
|
||||||
ki18n("KWin Desktop Effects Configuration Module"),
|
ki18n("KWin Desktop Effects Configuration Module"),
|
||||||
0, KLocalizedString(), KAboutData::License_GPL, ki18n("(c) 2007 Rivo Laks"));
|
0, KLocalizedString(), KAboutData::License_GPL, ki18n("(c) 2007 Rivo Laks"));
|
||||||
|
|
Loading…
Reference in a new issue