Merge remote-tracking branch 'hramrach/pull'
This commit is contained in:
commit
af3f64fb77
|
@ -1553,13 +1553,7 @@ xf86LoadOneModule(char *name, pointer opt)
|
||||||
void
|
void
|
||||||
xf86UnloadSubModule(pointer mod)
|
xf86UnloadSubModule(pointer mod)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
* This is disabled for now. The loader isn't smart enough yet to undo
|
|
||||||
* relocations.
|
|
||||||
*/
|
|
||||||
#if 0
|
|
||||||
UnloadSubModule(mod);
|
UnloadSubModule(mod);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
|
|
|
@ -94,6 +94,8 @@ const ModuleVersions LoaderVersionInfo = {
|
||||||
ABI_FONT_VERSION
|
ABI_FONT_VERSION
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static int ModuleDuplicated[] = {};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
FreeStringList(char **paths)
|
FreeStringList(char **paths)
|
||||||
{
|
{
|
||||||
|
@ -785,7 +787,6 @@ ModuleDescPtr
|
||||||
DuplicateModule(ModuleDescPtr mod, ModuleDescPtr parent)
|
DuplicateModule(ModuleDescPtr mod, ModuleDescPtr parent)
|
||||||
{
|
{
|
||||||
ModuleDescPtr ret;
|
ModuleDescPtr ret;
|
||||||
int errmaj, errmin;
|
|
||||||
|
|
||||||
if (!mod)
|
if (!mod)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -794,14 +795,11 @@ DuplicateModule(ModuleDescPtr mod, ModuleDescPtr parent)
|
||||||
if (ret == NULL)
|
if (ret == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (!(ret->handle = LoaderOpen(mod->path, &errmaj, &errmin))) {
|
ret->handle = mod->handle;
|
||||||
free(ret);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret->SetupProc = mod->SetupProc;
|
ret->SetupProc = mod->SetupProc;
|
||||||
ret->TearDownProc = mod->TearDownProc;
|
ret->TearDownProc = mod->TearDownProc;
|
||||||
ret->TearDownData = NULL;
|
ret->TearDownData = ModuleDuplicated;
|
||||||
ret->child = DuplicateModule(mod->child, ret);
|
ret->child = DuplicateModule(mod->child, ret);
|
||||||
ret->sib = DuplicateModule(mod->sib, parent);
|
ret->sib = DuplicateModule(mod->sib, parent);
|
||||||
ret->parent = parent;
|
ret->parent = parent;
|
||||||
|
@ -1072,11 +1070,16 @@ UnloadModuleOrDriver(ModuleDescPtr mod)
|
||||||
if (mod == NULL || mod->name == NULL)
|
if (mod == NULL || mod->name == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
xf86MsgVerb(X_INFO, 3, "UnloadModule: \"%s\"\n", mod->name);
|
if (mod->parent)
|
||||||
|
xf86MsgVerb(X_INFO, 3, "UnloadSubModule: \"%s\"\n", mod->name);
|
||||||
|
else
|
||||||
|
xf86MsgVerb(X_INFO, 3, "UnloadModule: \"%s\"\n", mod->name);
|
||||||
|
|
||||||
if ((mod->TearDownProc) && (mod->TearDownData))
|
if (mod->TearDownData != ModuleDuplicated) {
|
||||||
mod->TearDownProc(mod->TearDownData);
|
if ((mod->TearDownProc) && (mod->TearDownData))
|
||||||
LoaderUnload(mod->name, mod->handle);
|
mod->TearDownProc(mod->TearDownData);
|
||||||
|
LoaderUnload(mod->name, mod->handle);
|
||||||
|
}
|
||||||
|
|
||||||
if (mod->child)
|
if (mod->child)
|
||||||
UnloadModuleOrDriver(mod->child);
|
UnloadModuleOrDriver(mod->child);
|
||||||
|
@ -1092,23 +1095,8 @@ UnloadSubModule(pointer _mod)
|
||||||
{
|
{
|
||||||
ModuleDescPtr mod = (ModuleDescPtr)_mod;
|
ModuleDescPtr mod = (ModuleDescPtr)_mod;
|
||||||
|
|
||||||
if (mod == NULL || mod->name == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
xf86MsgVerb(X_INFO, 3, "UnloadSubModule: \"%s\"\n", mod->name);
|
|
||||||
|
|
||||||
if ((mod->TearDownProc) && (mod->TearDownData))
|
|
||||||
mod->TearDownProc(mod->TearDownData);
|
|
||||||
LoaderUnload(mod->name, mod->handle);
|
|
||||||
|
|
||||||
RemoveChild(mod);
|
RemoveChild(mod);
|
||||||
|
UnloadModuleOrDriver(mod);
|
||||||
if (mod->child)
|
|
||||||
UnloadModuleOrDriver(mod->child);
|
|
||||||
|
|
||||||
free(mod->path);
|
|
||||||
free(mod->name);
|
|
||||||
free(mod);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1135,6 +1123,7 @@ RemoveChild(ModuleDescPtr child)
|
||||||
}
|
}
|
||||||
if (mdp == child)
|
if (mdp == child)
|
||||||
prevsib->sib = child->sib;
|
prevsib->sib = child->sib;
|
||||||
|
child->sib = NULL;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -100,6 +100,12 @@ specifies a file which contains a collection of authorization records used
|
||||||
to authenticate access. See also the \fIxdm\fP(1) and
|
to authenticate access. See also the \fIxdm\fP(1) and
|
||||||
\fIXsecurity\fP(__miscmansuffix__) manual pages.
|
\fIXsecurity\fP(__miscmansuffix__) manual pages.
|
||||||
.TP 8
|
.TP 8
|
||||||
|
.BI \-background\ none
|
||||||
|
Asks the driver not to clear the background on startup, if the driver supports that.
|
||||||
|
May be useful for smooth transition with eg. fbdev driver.
|
||||||
|
For security reasons this is not the default as the screen contents might
|
||||||
|
show a previous user session.
|
||||||
|
.TP 8
|
||||||
.B \-br
|
.B \-br
|
||||||
sets the default root window to solid black instead of the standard root weave
|
sets the default root window to solid black instead of the standard root weave
|
||||||
pattern. This is the default unless -retro or -wr is specified.
|
pattern. This is the default unless -retro or -wr is specified.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user