Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver

This commit is contained in:
Adam Jackson 2008-05-08 14:33:58 -04:00
commit ddaecfa13c
4 changed files with 35 additions and 24 deletions

View File

@ -288,7 +288,7 @@ void GlxExtensionInit(void)
__glXDispatch, ResetExtension, __glXDispatch, ResetExtension,
StandardMinorOpcode); StandardMinorOpcode);
if (!extEntry) { if (!extEntry) {
FatalError("__glXExtensionInit: AddExtensions failed\n"); ErrorF("__glXExtensionInit: AddExtensions failed\n");
return; return;
} }
if (!AddExtensionAlias(GLX_EXTENSION_ALIAS, extEntry)) { if (!AddExtensionAlias(GLX_EXTENSION_ALIAS, extEntry)) {

View File

@ -510,7 +510,7 @@ handle_error:
xfree(screen); xfree(screen);
FatalError("GLX: could not load software renderer\n"); ErrorF("GLX: could not load software renderer\n");
return NULL; return NULL;
} }

View File

@ -25,6 +25,7 @@ MODEDEFSOURCES = $(srcdir)/vesamodes $(srcdir)/extramodes
xf86DefModeSet.c: $(srcdir)/modeline2c.awk $(MODEDEFSOURCES) xf86DefModeSet.c: $(srcdir)/modeline2c.awk $(MODEDEFSOURCES)
cat $(MODEDEFSOURCES) | $(AWK) -f $(srcdir)/modeline2c.awk > $@ cat $(MODEDEFSOURCES) | $(AWK) -f $(srcdir)/modeline2c.awk > $@
echo >> $@
BUILT_SOURCES = xf86DefModeSet.c BUILT_SOURCES = xf86DefModeSet.c

View File

@ -274,7 +274,7 @@ char tmpname[PATH_MAX];
return True; return True;
} }
else else
DebugF("Error compiling keymap (%s)\n",keymap); LogMessage(X_ERROR, "Error compiling keymap (%s)\n", keymap);
#ifdef WIN32 #ifdef WIN32
/* remove the temporary file */ /* remove the temporary file */
unlink(tmpname); unlink(tmpname);
@ -282,9 +282,9 @@ char tmpname[PATH_MAX];
} }
else { else {
#ifndef WIN32 #ifndef WIN32
DebugF("Could not invoke keymap compiler\n"); LogMessage(X_ERROR, "XKB: Could not invoke xkbcomp\n");
#else #else
DebugF("Could not open file %s\n", tmpname); LogMessage(X_ERROR, "Could not open file %s\n", tmpname);
#endif #endif
} }
if (nameRtrn) if (nameRtrn)
@ -350,11 +350,13 @@ unsigned missing;
if ((names->keycodes==NULL)&&(names->types==NULL)&& if ((names->keycodes==NULL)&&(names->types==NULL)&&
(names->compat==NULL)&&(names->symbols==NULL)&& (names->compat==NULL)&&(names->symbols==NULL)&&
(names->geometry==NULL)) { (names->geometry==NULL)) {
LogMessage(X_ERROR, "XKB: No components provided for device %s\n",
keybd->name);
return 0; return 0;
} }
else if (!XkbDDXCompileKeymapByNames(xkb,names,want,need, else if (!XkbDDXCompileKeymapByNames(xkb,names,want,need,
nameRtrn,nameRtrnLen)){ nameRtrn,nameRtrnLen)){
DebugF("Couldn't compile keymap file\n"); LogMessage(X_ERROR, "XKB: Couldn't compile keymap\n");
return 0; return 0;
} }
file= XkbDDXOpenConfigFile(nameRtrn,fileName,PATH_MAX); file= XkbDDXOpenConfigFile(nameRtrn,fileName,PATH_MAX);
@ -369,7 +371,7 @@ unsigned missing;
(void) unlink (fileName); (void) unlink (fileName);
return 0; return 0;
} }
else if (xkbDebugFlags) { else {
DebugF("Loaded XKB keymap %s, defined=0x%x\n",fileName,(*xkbRtrn)->defined); DebugF("Loaded XKB keymap %s, defined=0x%x\n",fileName,(*xkbRtrn)->defined);
} }
fclose(file); fclose(file);
@ -390,32 +392,40 @@ XkbRF_RulesPtr rules;
if (!rules_name) if (!rules_name)
return False; return False;
if (XkbBaseDirectory==NULL) {
if (strlen(rules_name)+7 > PATH_MAX) if (strlen(XkbBaseDirectory) + strlen(rules_name) + 8 > PATH_MAX) {
return False; LogMessage(X_ERROR, "XKB: Rules name is too long\n");
sprintf(buf,"rules/%s",rules_name); return False;
} }
else { sprintf(buf,"%s/rules/%s", XkbBaseDirectory, rules_name);
if (strlen(XkbBaseDirectory)+strlen(rules_name)+8 > PATH_MAX)
return False; file = fopen(buf, "r");
sprintf(buf,"%s/rules/%s",XkbBaseDirectory,rules_name); if (!file) {
} LogMessage(X_ERROR, "XKB: Couldn't open rules file %s\n", file);
if ((file= fopen(buf,"r"))==NULL)
return False; return False;
if ((rules= XkbRF_Create(0,0))==NULL) { }
rules = XkbRF_Create(0, 0);
if (!rules) {
LogMessage(X_ERROR, "XKB: Couldn't create rules struct\n");
fclose(file); fclose(file);
return False; return False;
} }
if (!XkbRF_LoadRules(file,rules)) {
if (!XkbRF_LoadRules(file, rules)) {
LogMessage(X_ERROR, "XKB: Couldn't parse rules file %s\n", rules_name);
fclose(file); fclose(file);
XkbRF_Free(rules,True); XkbRF_Free(rules,True);
return False; return False;
} }
bzero((char *)names,sizeof(XkbComponentNamesRec));
complete= XkbRF_GetComponents(rules,defs,names); memset(names, 0, sizeof(*names));
complete = XkbRF_GetComponents(rules,defs,names);
fclose(file); fclose(file);
XkbRF_Free(rules,True); XkbRF_Free(rules, True);
if (!complete)
LogMessage(X_ERROR, "XKB: Rules returned no components\n");
return complete; return complete;
} }