Remove XkbCF DDX configuration code.
This commit is contained in:
		
							parent
							
								
									aae4238360
								
							
						
					
					
						commit
						ec10f70b21
					
				|  | @ -4,6 +4,12 @@ | ||||||
| 	Fix two of the more glaring unconditional-NULL-dereference screwups. | 	Fix two of the more glaring unconditional-NULL-dereference screwups. | ||||||
| 	There are many more left. | 	There are many more left. | ||||||
| 
 | 
 | ||||||
|  | 	* xkb/Makefile.am: | ||||||
|  | 	* xkb/xkbconfig.c: | ||||||
|  | 	* xkb/ddxConfig.c: | ||||||
|  | 	* xkb/xkbInit.c: | ||||||
|  | 	Remove weirdo XkbCF pre-configuration code. | ||||||
|  | 
 | ||||||
| 2006-03-25  Adam Jackson  <ajax@freedesktop.org> | 2006-03-25  Adam Jackson  <ajax@freedesktop.org> | ||||||
| 
 | 
 | ||||||
| 	* hw/xfree86/common/xf86Bus.c: | 	* hw/xfree86/common/xf86Bus.c: | ||||||
|  |  | ||||||
|  | @ -13,7 +13,6 @@ DDX_SRCS = \ | ||||||
|         ddxLEDs.c \
 |         ddxLEDs.c \
 | ||||||
|         ddxLoad.c \
 |         ddxLoad.c \
 | ||||||
|         ddxList.c \
 |         ddxList.c \
 | ||||||
|         ddxConfig.c \
 |  | ||||||
|         ddxDevBtn.c |         ddxDevBtn.c | ||||||
| 
 | 
 | ||||||
| DIX_SRCS = \
 | DIX_SRCS = \
 | ||||||
|  | @ -34,7 +33,6 @@ XKBFILE_SRCS = \ | ||||||
|         xkbtext.c \
 |         xkbtext.c \
 | ||||||
|         xkbfmisc.c \
 |         xkbfmisc.c \
 | ||||||
|         xkberrs.c \
 |         xkberrs.c \
 | ||||||
|         xkbconfig.c \
 |  | ||||||
|         xkbout.c |         xkbout.c | ||||||
| 
 | 
 | ||||||
| X11_SRCS = \
 | X11_SRCS = \
 | ||||||
|  |  | ||||||
							
								
								
									
										215
									
								
								xkb/ddxConfig.c
								
								
								
								
							
							
						
						
									
										215
									
								
								xkb/ddxConfig.c
								
								
								
								
							|  | @ -1,215 +0,0 @@ | ||||||
| /* $Xorg: ddxConfig.c,v 1.3 2000/08/17 19:53:45 cpqbld Exp $ */ |  | ||||||
| /************************************************************
 |  | ||||||
| Copyright (c) 1995 by Silicon Graphics Computer Systems, Inc. |  | ||||||
| 
 |  | ||||||
| Permission to use, copy, modify, and distribute this |  | ||||||
| software and its documentation for any purpose and without |  | ||||||
| fee is hereby granted, provided that the above copyright |  | ||||||
| notice appear in all copies and that both that copyright |  | ||||||
| notice and this permission notice appear in supporting |  | ||||||
| documentation, and that the name of Silicon Graphics not be  |  | ||||||
| used in advertising or publicity pertaining to distribution  |  | ||||||
| of the software without specific prior written permission. |  | ||||||
| Silicon Graphics makes no representation about the suitability  |  | ||||||
| of this software for any purpose. It is provided "as is" |  | ||||||
| without any express or implied warranty. |  | ||||||
| 
 |  | ||||||
| SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS  |  | ||||||
| SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY  |  | ||||||
| AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON |  | ||||||
| GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL  |  | ||||||
| DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,  |  | ||||||
| DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE  |  | ||||||
| OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH |  | ||||||
| THE USE OR PERFORMANCE OF THIS SOFTWARE. |  | ||||||
| 
 |  | ||||||
| ********************************************************/ |  | ||||||
| /* $XFree86: xc/programs/Xserver/xkb/ddxConfig.c,v 3.8 2002/12/20 20:18:35 paulo Exp $ */ |  | ||||||
| 
 |  | ||||||
| #ifdef HAVE_DIX_CONFIG_H |  | ||||||
| #include <dix-config.h> |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #include <stdio.h> |  | ||||||
| #define	NEED_EVENTS 1 |  | ||||||
| #include <X11/X.h> |  | ||||||
| #include <X11/Xproto.h> |  | ||||||
| #include <X11/keysym.h> |  | ||||||
| #include "inputstr.h" |  | ||||||
| #include "scrnintstr.h" |  | ||||||
| #include "windowstr.h" |  | ||||||
| #include "os.h" |  | ||||||
| #define	XKBSRV_NEED_FILE_FUNCS |  | ||||||
| #include <X11/extensions/XKBsrv.h> |  | ||||||
| #include <X11/extensions/XKBconfig.h> |  | ||||||
| 
 |  | ||||||
| Bool |  | ||||||
| XkbDDXApplyConfig(XPointer cfg_in,XkbSrvInfoPtr info) |  | ||||||
| { |  | ||||||
| XkbConfigRtrnPtr 	rtrn; |  | ||||||
| XkbDescPtr		xkb; |  | ||||||
| Bool			ok; |  | ||||||
| XkbEventCauseRec	cause; |  | ||||||
| 
 |  | ||||||
|     xkb= info->desc; |  | ||||||
|     rtrn= (XkbConfigRtrnPtr)cfg_in; |  | ||||||
|     if (rtrn==NULL) |  | ||||||
| 	return True; |  | ||||||
|     ok= XkbCFApplyRtrnValues(rtrn,XkbCFDflts,xkb); |  | ||||||
|     if (rtrn->initial_mods.replace) { |  | ||||||
| 	info->state.locked_mods= rtrn->initial_mods.mods; |  | ||||||
|     } |  | ||||||
|     else { |  | ||||||
| 	info->state.locked_mods|= rtrn->initial_mods.mods; |  | ||||||
| 	if (rtrn->initial_mods.mods_clear) |  | ||||||
| 	    info->state.locked_mods&= ~rtrn->initial_mods.mods_clear; |  | ||||||
|     } |  | ||||||
|     XkbComputeDerivedState(info); |  | ||||||
|     XkbSetCauseUnknown(&cause); |  | ||||||
|     XkbUpdateIndicators(info->device,XkbAllIndicatorsMask,False,NULL,&cause); |  | ||||||
|     if (info->device && info->device->kbdfeed) { |  | ||||||
| 	DeviceIntPtr	dev; |  | ||||||
| 	KeybdCtrl	newCtrl; |  | ||||||
| 	dev= info->device; |  | ||||||
| 	newCtrl= dev->kbdfeed->ctrl; |  | ||||||
| 	if (rtrn->click_volume>=0) |  | ||||||
| 	    newCtrl.click= rtrn->click_volume; |  | ||||||
| 	if (rtrn->bell_volume>=0) |  | ||||||
| 	    newCtrl.bell= rtrn->bell_volume; |  | ||||||
| 	if (rtrn->bell_pitch>0) |  | ||||||
| 	    newCtrl.bell_pitch= rtrn->bell_pitch; |  | ||||||
| 	if (rtrn->bell_duration>0) |  | ||||||
| 	    newCtrl.bell_duration= rtrn->bell_duration; |  | ||||||
| 	if (dev->kbdfeed->CtrlProc) |  | ||||||
| 	    (*dev->kbdfeed->CtrlProc)(dev,&newCtrl); |  | ||||||
|     } |  | ||||||
|     XkbCFFreeRtrn(rtrn,XkbCFDflts,xkb); |  | ||||||
|     return ok; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| XPointer |  | ||||||
| XkbDDXPreloadConfig(	char **			rulesRtrn, |  | ||||||
| 			XkbRF_VarDefsPtr 	defs, |  | ||||||
| 			XkbComponentNamesPtr	names, |  | ||||||
| 			DeviceIntPtr 		dev) |  | ||||||
| { |  | ||||||
| char			buf[PATH_MAX]; |  | ||||||
| char *			dName; |  | ||||||
| FILE *			file; |  | ||||||
| XkbConfigRtrnPtr	rtrn; |  | ||||||
| 
 |  | ||||||
| #if defined(MetroLink) |  | ||||||
|     if (dev && dev->name) |  | ||||||
| 	 dName= dev->name; |  | ||||||
|     else dName= ""; |  | ||||||
|     /* It doesn't appear that XkbBaseDirectory could ever get set to NULL */ |  | ||||||
|     sprintf(buf,"%s/X%s-config%s%s",XkbBaseDirectory,display, |  | ||||||
|  						(dName[0]?".":""),dName); |  | ||||||
| #else |  | ||||||
|     if (dev && dev->name) |  | ||||||
| 	 dName= dev->name; |  | ||||||
|     else dName= ""; |  | ||||||
|     if (XkbBaseDirectory!=NULL) { |  | ||||||
| 	if (strlen(XkbBaseDirectory)+strlen(display) |  | ||||||
| 		+strlen(dName)+10+(dName[0]?1:0) > PATH_MAX) |  | ||||||
| 	{ |  | ||||||
| #ifdef DEBUG |  | ||||||
| 	    ErrorF("path exceeds max length\n"); |  | ||||||
| #endif |  | ||||||
| 	    return NULL; |  | ||||||
| 	} |  | ||||||
| 	sprintf(buf,"%s/X%s-config%s%s",XkbBaseDirectory,display, |  | ||||||
| 						(dName[0]?".":""),dName); |  | ||||||
|     } |  | ||||||
|     else { |  | ||||||
| 	if (strlen(display)+strlen(dName)+10+(dName[0]?1:0) > PATH_MAX) |  | ||||||
| 	{ |  | ||||||
| #ifdef DEBUG |  | ||||||
| 	    ErrorF("path exceeds max length\n"); |  | ||||||
| #endif |  | ||||||
| 	    return NULL; |  | ||||||
| 	} |  | ||||||
|         sprintf(buf,"X%s-config%s%s",display,(dName[0]?".":""),dName); |  | ||||||
|     } |  | ||||||
| #endif |  | ||||||
| #ifdef __UNIXOS2__ |  | ||||||
|     strcpy(buf,(char*)__XOS2RedirRoot(buf)); |  | ||||||
| #endif |  | ||||||
| #ifdef DEBUG |  | ||||||
|     ErrorF("Looking for keyboard configuration in %s...",buf); |  | ||||||
| #endif |  | ||||||
|     file= fopen(buf,"r"); |  | ||||||
|     if (file==NULL) { |  | ||||||
| #ifdef DEBUG |  | ||||||
| 	ErrorF("file not found\n"); |  | ||||||
| #endif |  | ||||||
| 	return NULL; |  | ||||||
|     } |  | ||||||
|     rtrn= _XkbTypedCalloc(1,XkbConfigRtrnRec); |  | ||||||
|     if (rtrn!=NULL) { |  | ||||||
| 	if (!XkbCFParse(file,XkbCFDflts,NULL,rtrn)) { |  | ||||||
| #ifdef DEBUG |  | ||||||
| 	    ErrorF("error\n"); |  | ||||||
| #endif |  | ||||||
| 	    ErrorF("Error parsing config file: "); |  | ||||||
| 	    XkbCFReportError(stderr,buf,rtrn->error,rtrn->line); |  | ||||||
| 	    _XkbFree(rtrn); |  | ||||||
| 	    fclose(file); |  | ||||||
| 	    return NULL; |  | ||||||
| 	} |  | ||||||
| #ifdef DEBUG |  | ||||||
| 	ErrorF("found it\n"); |  | ||||||
| #endif |  | ||||||
|         if (rtrn->rules_file) { |  | ||||||
| 	    *rulesRtrn= rtrn->rules_file; |  | ||||||
| 	    rtrn->rules_file= NULL; |  | ||||||
| 	} |  | ||||||
| 	if (rtrn->model) { |  | ||||||
| 	    defs->model= rtrn->model; |  | ||||||
| 	    rtrn->model= NULL; |  | ||||||
| 	} |  | ||||||
| 	if (rtrn->layout) { |  | ||||||
| 	    defs->layout= rtrn->layout; |  | ||||||
| 	    rtrn->layout= NULL; |  | ||||||
| 	} |  | ||||||
| 	if (rtrn->variant) { |  | ||||||
| 	    defs->variant= rtrn->variant; |  | ||||||
| 	    rtrn->variant= NULL; |  | ||||||
| 	} |  | ||||||
| 	if (rtrn->options) { |  | ||||||
| 	    defs->options= rtrn->options; |  | ||||||
| 	    rtrn->options= NULL; |  | ||||||
| 	} |  | ||||||
| 	XkbSetRulesUsed(defs); |  | ||||||
| 
 |  | ||||||
| 	if (rtrn->keycodes!=NULL) { |  | ||||||
| 	    if (names->keycodes) _XkbFree(names->keycodes); |  | ||||||
| 	    names->keycodes= rtrn->keycodes; |  | ||||||
| 	    rtrn->keycodes= NULL; |  | ||||||
| 	} |  | ||||||
| 	if (rtrn->geometry!=NULL) { |  | ||||||
| 	    if (names->geometry) _XkbFree(names->geometry); |  | ||||||
| 	    names->geometry= rtrn->geometry; |  | ||||||
| 	    rtrn->geometry= NULL; |  | ||||||
| 	} |  | ||||||
| 	if (rtrn->symbols!=NULL) { |  | ||||||
| 	    if (rtrn->phys_symbols==NULL) |  | ||||||
| 		rtrn->phys_symbols= _XkbDupString(names->symbols); |  | ||||||
| 	    if (names->symbols) _XkbFree(names->symbols); |  | ||||||
| 	    names->symbols= rtrn->symbols; |  | ||||||
| 	    rtrn->symbols= NULL; |  | ||||||
| 	} |  | ||||||
| 	if (rtrn->types!=NULL) { |  | ||||||
| 	    if (names->types) _XkbFree(names->types); |  | ||||||
| 	    names->types= rtrn->types; |  | ||||||
| 	    rtrn->types= NULL; |  | ||||||
| 	} |  | ||||||
| 	if (rtrn->compat!=NULL) { |  | ||||||
| 	    if (names->compat) _XkbFree(names->compat); |  | ||||||
| 	    names->compat= rtrn->compat; |  | ||||||
| 	    rtrn->compat= NULL; |  | ||||||
| 	} |  | ||||||
|     } |  | ||||||
|     fclose(file); |  | ||||||
|     return (XPointer)rtrn; |  | ||||||
| } |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /* $Xorg: xkbInit.c,v 1.3 2000/08/17 19:53:47 cpqbld Exp $ */ | /* $Xorg: xkbInit.c,v 1.3 2000/08/17 19:53:47 cpqbld Exp $ */ | ||||||
| /* $XdotOrg: xserver/xorg/xkb/xkbInit.c,v 1.10 2005/12/26 04:23:58 daniels Exp $ */ | /* $XdotOrg: xserver/xorg/xkb/xkbInit.c,v 1.11 2006/02/15 20:44:13 ajax Exp $ */ | ||||||
| /************************************************************
 | /************************************************************
 | ||||||
| Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. | Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. | ||||||
| 
 | 
 | ||||||
|  | @ -628,8 +628,6 @@ KeySymsRec		tmpSyms,*pSyms; | ||||||
| CARD8			tmpMods[XkbMaxLegalKeyCode+1],*pMods; | CARD8			tmpMods[XkbMaxLegalKeyCode+1],*pMods; | ||||||
| char			name[PATH_MAX],*rules; | char			name[PATH_MAX],*rules; | ||||||
| Bool			ok=False; | Bool			ok=False; | ||||||
| XPointer		config; |  | ||||||
| XkbComponentNamesRec	cfgNames; |  | ||||||
| XkbRF_VarDefsRec	defs; | XkbRF_VarDefsRec	defs; | ||||||
| 
 | 
 | ||||||
|     if ((dev->key!=NULL)||(dev->kbdfeed!=NULL)) |     if ((dev->key!=NULL)||(dev->kbdfeed!=NULL)) | ||||||
|  | @ -637,9 +635,7 @@ XkbRF_VarDefsRec	defs; | ||||||
|     pSyms= pSymsIn; |     pSyms= pSymsIn; | ||||||
|     pMods= pModsIn; |     pMods= pModsIn; | ||||||
|     bzero(&defs,sizeof(XkbRF_VarDefsRec)); |     bzero(&defs,sizeof(XkbRF_VarDefsRec)); | ||||||
|     bzero(&cfgNames,sizeof(XkbComponentNamesRec)); |  | ||||||
|     rules= XkbGetRulesDflts(&defs); |     rules= XkbGetRulesDflts(&defs); | ||||||
|     config= XkbDDXPreloadConfig(&rules,&defs,&cfgNames,dev); |  | ||||||
| 
 | 
 | ||||||
|     /*
 |     /*
 | ||||||
|      * The strings are duplicated because it is not guaranteed that |      * The strings are duplicated because it is not guaranteed that | ||||||
|  | @ -768,8 +764,6 @@ XkbRF_VarDefsRec	defs; | ||||||
| 	LogMessage(X_WARNING, "Couldn't load XKB keymap, falling back to pre-XKB keymap\n"); | 	LogMessage(X_WARNING, "Couldn't load XKB keymap, falling back to pre-XKB keymap\n"); | ||||||
|     } |     } | ||||||
|     ok= InitKeyboardDeviceStruct((DevicePtr)dev,pSyms,pMods,bellProc,ctrlProc); |     ok= InitKeyboardDeviceStruct((DevicePtr)dev,pSyms,pMods,bellProc,ctrlProc); | ||||||
|     if ((config!=NULL)&&(dev && dev->key && dev->key->xkbInfo)) |  | ||||||
| 	XkbDDXApplyConfig(config,dev->key->xkbInfo); |  | ||||||
|     _XkbInitFileInfo= NULL; |     _XkbInitFileInfo= NULL; | ||||||
|     if ((pSyms==&tmpSyms)&&(pSyms->map!=NULL)) { |     if ((pSyms==&tmpSyms)&&(pSyms->map!=NULL)) { | ||||||
| 	_XkbFree(pSyms->map); | 	_XkbFree(pSyms->map); | ||||||
|  |  | ||||||
							
								
								
									
										1355
									
								
								xkb/xkbconfig.c
								
								
								
								
							
							
						
						
									
										1355
									
								
								xkb/xkbconfig.c
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue