mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-02-15 13:50:33 +01:00
Xephyr: Don't crash when no command line argument is specified
The DDX specific command line parsing function only gets called
if command line arguments are present. Therefore this function
is not suitable to initialize mandatory global variables.
Replace main() instead.
Signed-off-by: Egbert Eich <eich@freedesktop.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 5af73f4908)
This commit is contained in:
parent
0dc9da5ce9
commit
a4882ac792
4 changed files with 12 additions and 5 deletions
|
|
@ -2423,7 +2423,8 @@ if test "$KDRIVE" = yes; then
|
|||
fi
|
||||
;;
|
||||
esac
|
||||
KDRIVE_LOCAL_LIBS="$MAIN_LIB $DIX_LIB $KDRIVE_LIB"
|
||||
KDRIVE_MAIN_LIB="$MAIN_LIB"
|
||||
KDRIVE_LOCAL_LIBS="$DIX_LIB $KDRIVE_LIB"
|
||||
KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
|
||||
KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB"
|
||||
KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS $TSLIB_LIBS"
|
||||
|
|
@ -2435,6 +2436,7 @@ AC_SUBST([KDRIVE_INCS])
|
|||
AC_SUBST([KDRIVE_PURE_INCS])
|
||||
AC_SUBST([KDRIVE_CFLAGS])
|
||||
AC_SUBST([KDRIVE_PURE_LIBS])
|
||||
AC_SUBST([KDRIVE_MAIN_LIB])
|
||||
AC_SUBST([KDRIVE_LOCAL_LIBS])
|
||||
AC_SUBST([KDRIVE_LIBS])
|
||||
AM_CONDITIONAL(KDRIVELINUX, [test "x$KDRIVELINUX" = xyes])
|
||||
|
|
|
|||
|
|
@ -52,6 +52,13 @@ void processScreenOrOutputArg(const char *screen_size, const char *output, char
|
|||
void processOutputArg(const char *output, char *parent_id);
|
||||
void processScreenArg(const char *screen_size, char *parent_id);
|
||||
|
||||
int
|
||||
main(int argc, char *argv[], char *envp[])
|
||||
{
|
||||
hostx_use_resname(basename(argv[0]), 0);
|
||||
return dix_main(argc, argv, envp);
|
||||
}
|
||||
|
||||
void
|
||||
InitCard(char *name)
|
||||
{
|
||||
|
|
@ -209,10 +216,6 @@ ddxProcessArgument(int argc, char **argv, int i)
|
|||
|
||||
EPHYR_DBG("mark argv[%d]='%s'", i, argv[i]);
|
||||
|
||||
if (i == 1) {
|
||||
hostx_use_resname(basename(argv[0]), 0);
|
||||
}
|
||||
|
||||
if (!strcmp(argv[i], "-parent")) {
|
||||
if (i + 1 < argc) {
|
||||
int j;
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ Xfake_SOURCES = \
|
|||
|
||||
Xfake_LDADD = \
|
||||
libfake.la \
|
||||
@KDRIVE_MAIN_LIB@ \
|
||||
@KDRIVE_LIBS@
|
||||
|
||||
Xfake_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ Xfbdev_SOURCES = \
|
|||
|
||||
Xfbdev_LDADD = \
|
||||
libfbdev.la \
|
||||
@KDRIVE_MAIN_LIB@ \
|
||||
@KDRIVE_LIBS@
|
||||
|
||||
Xfbdev_DEPENDENCIES = \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue