summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2017-09-14 13:44:17 +0100
committerPeter Maydell <peter.maydell@linaro.org>2017-09-14 13:44:17 +0100
commit0c9ddf716eab60c49fcf3bfd7e5ae968173a06c7 (patch)
treea78392b7d1b0433162c0d0aff74db6f39613a4df
parentbcf9e2c0a5f8de395842e034ca15be13d1fc5f90 (diff)
parent7c336f9fe53b1a500f21241841c7bf4267c7ee14 (diff)
Merge remote-tracking branch 'remotes/kraxel/tags/ui-20170913-pull-request' into staging
ui: console fixes drop pixman submodule # gpg: Signature made Wed 13 Sep 2017 09:40:34 BST # gpg: using RSA key 0x4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/ui-20170913-pull-request: console: add question-mark escape operator console: fix dpy_gfx_replace_surface assert pixman: drop configure switches pixman: drop submodule Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--.gitmodules3
-rw-r--r--Makefile10
-rwxr-xr-xconfigure44
m---------pixman0
-rw-r--r--ui/console.c5
-rw-r--r--ui/qemu-pixman.c4
6 files changed, 7 insertions, 59 deletions
diff --git a/.gitmodules b/.gitmodules
index 5b0c212622..84c54cdc49 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -22,9 +22,6 @@
[submodule "roms/sgabios"]
path = roms/sgabios
url = git://git.qemu-project.org/sgabios.git
-[submodule "pixman"]
- path = pixman
- url = git://anongit.freedesktop.org/pixman
[submodule "dtc"]
path = dtc
url = git://git.qemu-project.org/dtc.git
diff --git a/Makefile b/Makefile
index 337a1f6f9b..b53fc69a60 100644
--- a/Makefile
+++ b/Makefile
@@ -325,15 +325,6 @@ $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak
subdir-%:
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" all,)
-subdir-pixman: pixman/Makefile
- $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pixman V="$(V)" all,)
-
-pixman/Makefile: $(SRC_PATH)/pixman/configure
- (cd pixman; CFLAGS="$(CFLAGS) -fPIC $(extra_cflags) $(extra_ldflags)" $(SRC_PATH)/pixman/configure $(AUTOCONF_HOST) --disable-gtk --disable-shared --enable-static)
-
-$(SRC_PATH)/pixman/configure:
- (cd $(SRC_PATH)/pixman; autoreconf -v --install)
-
DTC_MAKE_ARGS=-I$(SRC_PATH)/dtc VPATH=$(SRC_PATH)/dtc -C dtc V="$(V)" LIBFDT_srcdir=$(SRC_PATH)/dtc/libfdt
DTC_CFLAGS=$(CFLAGS) $(QEMU_CFLAGS)
DTC_CPPFLAGS=-I$(BUILD_DIR)/dtc -I$(SRC_PATH)/dtc -I$(SRC_PATH)/dtc/libfdt
@@ -541,7 +532,6 @@ distclean: clean
rm -rf $$d || exit 1 ; \
done
rm -Rf .sdk
- if test -f pixman/config.log; then $(MAKE) -C pixman distclean; fi
if test -f dtc/version_gen.h; then $(MAKE) $(DTC_MAKE_ARGS) clean; fi
KEYMAPS=da en-gb et fr fr-ch is lt modifiers no pt-br sv \
diff --git a/configure b/configure
index fd7e3a5e81..7ea9cb3247 100755
--- a/configure
+++ b/configure
@@ -287,7 +287,6 @@ curses=""
docs=""
fdt=""
netmap="no"
-pixman=""
sdl=""
sdlabi=""
virtfs=""
@@ -923,12 +922,6 @@ for opt do
# configure to be used by RPM and similar macros that set
# lots of directory switches by default.
;;
- --with-system-pixman) pixman="system"
- ;;
- --without-system-pixman) pixman="internal"
- ;;
- --without-pixman) pixman="none"
- ;;
--disable-sdl) sdl="no"
;;
--enable-sdl) sdl="yes"
@@ -3295,39 +3288,15 @@ fi
##########################################
# pixman support probe
-if test "$pixman" = ""; then
- if test "$want_tools" = "no" -a "$softmmu" = "no"; then
- pixman="none"
- elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
- pixman="system"
- else
- pixman="internal"
- fi
-fi
-if test "$pixman" = "none"; then
- if test "$want_tools" != "no" -o "$softmmu" != "no"; then
- error_exit "pixman disabled but system emulation or tools build" \
- "enabled. You can turn off pixman only if you also" \
- "disable all system emulation targets and the tools" \
- "build with '--disable-tools --disable-system'."
- fi
+if test "$want_tools" = "no" -a "$softmmu" = "no"; then
pixman_cflags=
pixman_libs=
-elif test "$pixman" = "system"; then
- # pixman version has been checked above
+elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
pixman_cflags=$($pkg_config --cflags pixman-1)
pixman_libs=$($pkg_config --libs pixman-1)
else
- if test ! -d ${source_path}/pixman/pixman; then
- error_exit "pixman >= 0.21.8 not present. Your options:" \
- " (1) Preferred: Install the pixman devel package (any recent" \
- " distro should have packages as Xorg needs pixman too)." \
- " (2) Fetch the pixman submodule, using:" \
- " git submodule update --init pixman"
- fi
- mkdir -p pixman/pixman
- pixman_cflags="-I\$(SRC_PATH)/pixman/pixman -I\$(BUILD_DIR)/pixman/pixman"
- pixman_libs="-L\$(BUILD_DIR)/pixman/pixman/.libs -lpixman-1"
+ error_exit "pixman >= 0.21.8 not present." \
+ "Please install the pixman devel package."
fi
##########################################
@@ -5300,7 +5269,6 @@ echo "static build $static"
if test "$darwin" = "yes" ; then
echo "Cocoa support $cocoa"
fi
-echo "pixman $pixman"
echo "SDL support $sdl $(echo_version $sdl $sdlversion)"
echo "GTK support $gtk $(echo_version $gtk $gtk_version)"
echo "GTK GL support $gtk_gl"
@@ -6529,10 +6497,6 @@ echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak
done # for target in $targets
-if [ "$pixman" = "internal" ]; then
- echo "config-host.h: subdir-pixman" >> $config_host_mak
-fi
-
if [ "$dtc_internal" = "yes" ]; then
echo "config-host.h: subdir-dtc" >> $config_host_mak
fi
diff --git a/pixman b/pixman
deleted file mode 160000
-Subproject 87eea99e443b389c978cf37efc52788bf03a0ee
diff --git a/ui/console.c b/ui/console.c
index d2d3534c49..b82c27960a 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -880,8 +880,9 @@ static void console_putchar(QemuConsole *s, int ch)
} else {
if (s->nb_esc_params < MAX_ESC_PARAMS)
s->nb_esc_params++;
- if (ch == ';')
+ if (ch == ';' || ch == '?') {
break;
+ }
trace_console_putchar_csi(s->esc_params[0], s->esc_params[1],
ch, s->nb_esc_params);
s->state = TTY_STATE_NORM;
@@ -1540,7 +1541,7 @@ void dpy_gfx_replace_surface(QemuConsole *con,
DisplaySurface *old_surface = con->surface;
DisplayChangeListener *dcl;
- assert(old_surface != surface);
+ assert(old_surface != surface || surface == NULL);
con->surface = surface;
QLIST_FOREACH(dcl, &s->listeners, next) {
diff --git a/ui/qemu-pixman.c b/ui/qemu-pixman.c
index 6e8b83add6..6e591ab821 100644
--- a/ui/qemu-pixman.c
+++ b/ui/qemu-pixman.c
@@ -96,17 +96,13 @@ int qemu_pixman_get_type(int rshift, int gshift, int bshift)
if (bshift == 0) {
type = PIXMAN_TYPE_ARGB;
} else {
-#if PIXMAN_VERSION >= PIXMAN_VERSION_ENCODE(0, 21, 8)
type = PIXMAN_TYPE_RGBA;
-#endif
}
} else if (rshift < gshift && gshift < bshift) {
if (rshift == 0) {
type = PIXMAN_TYPE_ABGR;
} else {
-#if PIXMAN_VERSION >= PIXMAN_VERSION_ENCODE(0, 16, 0)
type = PIXMAN_TYPE_BGRA;
-#endif
}
}
return type;