forked from pool/xorg-x11-server
Accepting request 37129 from home:oertel:branches:openSUSE:Factory
Copy from home:oertel:branches:openSUSE:Factory/xorg-x11-server via accept of submit request 37129 revision 11. Request was accepted with message: reviewed ok. OBS-URL: https://build.opensuse.org/request/show/37129 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=243
This commit is contained in:
parent
d74903e63b
commit
5477a1002e
91
xorg-server-option_libxf86config.diff
Normal file
91
xorg-server-option_libxf86config.diff
Normal file
@ -0,0 +1,91 @@
|
||||
--- hw/xfree86/parser/InputClass.c
|
||||
+++ hw/xfree86/parser/InputClass.c
|
||||
@@ -61,6 +61,47 @@
|
||||
|
||||
#define TOKEN_SEP "|"
|
||||
|
||||
+/*
|
||||
+ * Tokenize a string into a NULL terminated array of strings. Always returns
|
||||
+ * an allocated array unless an error occurs.
|
||||
+ */
|
||||
+char**
|
||||
+m_xstrtokenize(const char *str, const char *separators)
|
||||
+{
|
||||
+ char **list, **nlist;
|
||||
+ char *tok, *tmp;
|
||||
+ unsigned num = 0, n;
|
||||
+
|
||||
+ if (!str)
|
||||
+ return NULL;
|
||||
+ list = calloc(1, sizeof(*list));
|
||||
+ if (!list)
|
||||
+ return NULL;
|
||||
+ tmp = strdup(str);
|
||||
+ if (!tmp)
|
||||
+ goto error;
|
||||
+ for (tok = strtok(tmp, separators); tok; tok = strtok(NULL, separators)) {
|
||||
+ nlist = realloc(list, (num + 2) * sizeof(*list));
|
||||
+ if (!nlist)
|
||||
+ goto error;
|
||||
+ list = nlist;
|
||||
+ list[num] = strdup(tok);
|
||||
+ if (!list[num])
|
||||
+ goto error;
|
||||
+ list[++num] = NULL;
|
||||
+ }
|
||||
+ free(tmp);
|
||||
+ return list;
|
||||
+
|
||||
+error:
|
||||
+ free(tmp);
|
||||
+ for (n = 0; n < num; n++)
|
||||
+ free(list[n]);
|
||||
+ free(list);
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+
|
||||
XF86ConfInputClassPtr
|
||||
xf86parseInputClassSection(void)
|
||||
{
|
||||
@@ -96,22 +137,22 @@
|
||||
case MATCH_PRODUCT:
|
||||
if (xf86getSubToken(&(ptr->comment)) != STRING)
|
||||
Error(QUOTE_MSG, "MatchProduct");
|
||||
- ptr->match_product = xstrtokenize(val.str, TOKEN_SEP);
|
||||
+ ptr->match_product = m_xstrtokenize(val.str, TOKEN_SEP);
|
||||
break;
|
||||
case MATCH_VENDOR:
|
||||
if (xf86getSubToken(&(ptr->comment)) != STRING)
|
||||
Error(QUOTE_MSG, "MatchVendor");
|
||||
- ptr->match_vendor = xstrtokenize(val.str, TOKEN_SEP);
|
||||
+ ptr->match_vendor = m_xstrtokenize(val.str, TOKEN_SEP);
|
||||
break;
|
||||
case MATCH_DEVICE_PATH:
|
||||
if (xf86getSubToken(&(ptr->comment)) != STRING)
|
||||
Error(QUOTE_MSG, "MatchDevicePath");
|
||||
- ptr->match_device = xstrtokenize(val.str, TOKEN_SEP);
|
||||
+ ptr->match_device = m_xstrtokenize(val.str, TOKEN_SEP);
|
||||
break;
|
||||
case MATCH_TAG:
|
||||
if (xf86getSubToken(&(ptr->comment)) != STRING)
|
||||
Error(QUOTE_MSG, "MatchTag");
|
||||
- ptr->match_tag = xstrtokenize(val.str, TOKEN_SEP);
|
||||
+ ptr->match_tag = m_xstrtokenize(val.str, TOKEN_SEP);
|
||||
break;
|
||||
case MATCH_IS_KEYBOARD:
|
||||
if (xf86getSubToken(&(ptr->comment)) != STRING)
|
||||
--- hw/xfree86/parser/Layout.c
|
||||
+++ hw/xfree86/parser/Layout.c
|
||||
@@ -449,7 +449,10 @@
|
||||
/* add all AutoServerLayout devices to the server layout */
|
||||
while (input)
|
||||
{
|
||||
- if (xf86CheckBoolOption(input->inp_option_lst, "AutoServerLayout", FALSE))
|
||||
+ Bool asl_value = FALSE;
|
||||
+ char *s = xf86findOptionValue(input->inp_option_lst ,"AutoServerLayout");
|
||||
+ Bool asl_found = xf86getBoolValue(&asl_value, s);
|
||||
+ if (asl_found == TRUE && asl_value == TRUE)
|
||||
{
|
||||
XF86ConfInputrefPtr iref = layout->lay_input_lst;
|
||||
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 6 20:48:21 CEST 2010 - ro@suse.de
|
||||
|
||||
- fix libxf86config (resolve references)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 6 18:20:00 CEST 2010 - sndirsch@suse.de
|
||||
|
||||
|
@ -127,6 +127,7 @@ Patch203: 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch
|
||||
Patch204: missing_font_paths.diff
|
||||
Patch205: xorg-server-1.8.0.diff
|
||||
Patch206: fix_fglrx_screendepth_issue.patch
|
||||
Patch207: xorg-server-option_libxf86config.diff
|
||||
|
||||
%description
|
||||
This package contains the X.Org Server.
|
||||
@ -251,6 +252,7 @@ popd
|
||||
%patch204 -p0
|
||||
%patch205 -p0
|
||||
%patch206 -p0
|
||||
%patch207 -p0
|
||||
|
||||
%build
|
||||
pushd xorg-docs-*
|
||||
@ -320,7 +322,7 @@ autoreconf -fi
|
||||
--with-xkb-path="/usr/share/X11/xkb" \
|
||||
--with-xkb-output="/var/lib/xkb/compiled"
|
||||
#make %{?jobs:-j %jobs}
|
||||
make
|
||||
make V=1
|
||||
make -C hw/kdrive %{?jobs:-j %jobs}
|
||||
|
||||
%install
|
||||
|
Loading…
Reference in New Issue
Block a user