summaryrefslogtreecommitdiff
path: root/hw/xwin
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xwin')
-rw-r--r--hw/xwin/InitOutput.c4
-rw-r--r--hw/xwin/Makefile.am2
-rw-r--r--hw/xwin/glx/indirect.c3
-rw-r--r--hw/xwin/glx/winpriv.c2
-rw-r--r--hw/xwin/man/XWin.man13
-rw-r--r--hw/xwin/winengine.c15
-rw-r--r--hw/xwin/winglobals.c2
-rw-r--r--hw/xwin/winmultiwindowwm.c22
-rw-r--r--hw/xwin/winprocarg.c5
9 files changed, 30 insertions, 38 deletions
diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c
index f187c88c2..b5e18c226 100644
--- a/hw/xwin/InitOutput.c
+++ b/hw/xwin/InitOutput.c
@@ -760,7 +760,7 @@ winUseMsg(void)
ErrorF("-engine engine_type_id\n"
"\tOverride the server's automatically selected engine type:\n"
"\t\t1 - Shadow GDI\n"
- "\t\t2 - Shadow DirectDraw\n"
+ "\t\t2 - Shadow DirectDraw - obsolete\n"
"\t\t4 - Shadow DirectDraw4 Non-Locking\n"
#ifdef XWIN_PRIMARYFB
"\t\t8 - Primary DirectDraw - obsolete\n"
@@ -772,7 +772,7 @@ winUseMsg(void)
ErrorF("-fullscreen\n" "\tRun the server in fullscreen mode.\n");
- ErrorF("-hostintitle\n"
+ ErrorF("-[no]hostintitle\n"
"\tIn multiwindow mode, add remote host names to window titles.\n");
ErrorF("-ignoreinput\n" "\tIgnore keyboard and mouse input.\n");
diff --git a/hw/xwin/Makefile.am b/hw/xwin/Makefile.am
index b4fa663d3..df920eb6d 100644
--- a/hw/xwin/Makefile.am
+++ b/hw/xwin/Makefile.am
@@ -155,7 +155,7 @@ XWIN_LIBS += $(top_builddir)/pseudoramiX/libPseudoramiX.la
XWin_DEPENDENCIES = $(MULTIWINDOW_LIBS) $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_LIBS) $(XSERVER_LIBS)
XWin_LDADD = $(MULTIWINDOW_LIBS) $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_LIBS) $(XSERVER_LIBS) \
$(CLIPBOARD_LIBS) $(XWIN_GLX_SYS_LIBS) $(XSERVER_SYS_LIBS) $(XWIN_SYS_LIBS) $(MULTIWINDOW_SYS_LIBS)
-XWin_LDFLAGS = -mwindows -static -Wl,--disable-stdcall-fixup
+XWin_LDFLAGS = -mwindows -Wl,--disable-stdcall-fixup $(LD_EXPORT_SYMBOLS_FLAG)
.rc.o:
$(AM_V_GEN)$(WINDRES) --use-temp-file -i $< --input-format=rc -o $@ -O coff -I $(top_builddir)/include -DHOST_TRIPLET=\"$(host)\"
diff --git a/hw/xwin/glx/indirect.c b/hw/xwin/glx/indirect.c
index e8e75d534..71c0f805c 100644
--- a/hw/xwin/glx/indirect.c
+++ b/hw/xwin/glx/indirect.c
@@ -738,9 +738,6 @@ glxWinScreenProbe(ScreenPtr pScreen)
__glXScreenInit(&screen->base, pScreen);
- // Override the GL extensions string set by __glXScreenInit()
- screen->base.GLextensions = strdup(gl_extensions);
-
// Generate the GLX extensions string (overrides that set by __glXScreenInit())
{
unsigned int buffer_size =
diff --git a/hw/xwin/glx/winpriv.c b/hw/xwin/glx/winpriv.c
index 11612f905..46d33c15e 100644
--- a/hw/xwin/glx/winpriv.c
+++ b/hw/xwin/glx/winpriv.c
@@ -26,6 +26,8 @@ winCreateWindowsWindowHierarchy(WindowPtr pWin)
if (pWin->parent) {
if (pWin->parent != pWin->drawable.pScreen->root)
winCreateWindowsWindowHierarchy(pWin->parent);
+ } else {
+ return;
}
/* ensure this window exists */
diff --git a/hw/xwin/man/XWin.man b/hw/xwin/man/XWin.man
index 9a046d930..5f2d2eabc 100644
--- a/hw/xwin/man/XWin.man
+++ b/hw/xwin/man/XWin.man
@@ -170,9 +170,10 @@ on its own is equivalent to \fB\-resize=randr\fP
.SH OPTIONS FOR MULTIWINDOW MODE
.TP 8
-.B \-hostintitle
+.B \-[no]hostintitle
Add the host name to the window title for X applications which are running
on remote hosts, when that information is available and it's useful to do so.
+The default is enabled.
.SH OPTIONS CONTROLLING WINDOWS INTEGRATION
.TP 8
@@ -242,14 +243,12 @@ clipping region is then used to do a single bit block transfer that is
constrained to the updated area by the clipping region. There is some
overhead involved in creating, installing, destroying, and removing
the clipping region, thus there may not be much benefit for a small
-number of boxes (less than 10). It is even possible that this
+number of boxes. It is even possible that this
functionality does not provide a benefit at any number of boxes; we
can only determine the usefulness of this feature through testing.
This option probably has limited effect on current \fIWindows\fP versions
as they already perform GDI batching.
-This parameter works in conjunction with engines 1, 2, and 4 (Shadow
-GDI, Shadow DirectDraw, and Shadow DirectDraw Non-Locking,
-respectively).
+This parameter only has any effect when a Shadow drawing engine is selected.
.TP 8
.B "\-engine \fIengine_type_id\fP"
This option, which is intended for Cygwin/X developers,
@@ -265,11 +264,11 @@ The engine type ids are:
.IP 1 4
Shadow GDI
.IP 2 4
-Shadow DirectDraw
+Shadow DirectDraw (obsolete, disabled)
.IP 4 4
Shadow DirectDraw Non-Locking
.IP 8 4
-Primary DirectDraw (unsupported, obsolete)
+Primary DirectDraw (unsupported, obsolete, disabled)
.IP 16 4
Native GDI (unsupported, experimental and barely functional)
.RE
diff --git a/hw/xwin/winengine.c b/hw/xwin/winengine.c
index 1f55ada58..94e5e36e9 100644
--- a/hw/xwin/winengine.c
+++ b/hw/xwin/winengine.c
@@ -89,21 +89,6 @@ winDetectSupportedEngines(void)
"winDetectSupportedEngines - DirectDraw not installed\n");
return;
}
- else {
- /* We have DirectDraw */
- winErrorFVerb(2,
- "winDetectSupportedEngines - DirectDraw installed, allowing ShadowDD\n");
- g_dwEnginesSupported |= WIN_SERVER_SHADOW_DD;
-
-#ifdef XWIN_PRIMARYFB
- /* Allow PrimaryDD engine if NT */
- if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) {
- g_dwEnginesSupported |= WIN_SERVER_PRIMARY_DD;
- winErrorFVerb(2,
- "winDetectSupportedEngines - Windows NT, allowing PrimaryDD\n");
- }
-#endif
- }
/* Try to query for DirectDraw4 interface */
ddrval = IDirectDraw_QueryInterface(lpdd,
diff --git a/hw/xwin/winglobals.c b/hw/xwin/winglobals.c
index ad82b83f6..1382c8972 100644
--- a/hw/xwin/winglobals.c
+++ b/hw/xwin/winglobals.c
@@ -78,7 +78,7 @@ Bool g_fNoHelpMessageBox = FALSE;
Bool g_fSoftwareCursor = FALSE;
Bool g_fSilentDupError = FALSE;
Bool g_fNativeGl = TRUE;
-Bool g_fHostInTitle = FALSE;
+Bool g_fHostInTitle = TRUE;
pthread_mutex_t g_pmTerminating = PTHREAD_MUTEX_INITIALIZER;
#ifdef XWIN_CLIPBOARD
diff --git a/hw/xwin/winmultiwindowwm.c b/hw/xwin/winmultiwindowwm.c
index 262f53830..c9f0b304b 100644
--- a/hw/xwin/winmultiwindowwm.c
+++ b/hw/xwin/winmultiwindowwm.c
@@ -488,19 +488,20 @@ GetWindowName(Display * pDisplay, Window iWin, char **ppWindowName)
/*
If we have a client machine name
- and it's not the local host name...
+ and it's not the local host name
+ and it's not already in the window title...
*/
if (strlen(pszClientMachine) &&
!gethostname(hostname, HOST_NAME_MAX + 1) &&
- strcmp(hostname, pszClientMachine)) {
- /* ... add ' (on <clientmachine>)' to end of window name */
+ strcmp(hostname, pszClientMachine) &&
+ (strstr(pszWindowName, pszClientMachine) == 0)) {
+ /* ... add '@<clientmachine>' to end of window name */
*ppWindowName =
malloc(strlen(pszWindowName) +
- strlen(pszClientMachine) + 7);
+ strlen(pszClientMachine) + 2);
strcpy(*ppWindowName, pszWindowName);
- strcat(*ppWindowName, " (on ");
+ strcat(*ppWindowName, "@");
strcat(*ppWindowName, pszClientMachine);
- strcat(*ppWindowName, ")");
free(pszWindowName);
free(pszClientMachine);
@@ -1622,7 +1623,7 @@ static void
winMultiWindowThreadExit(void *arg)
{
/* multiwindow client thread has exited, stop server as well */
- kill(getpid(), SIGTERM);
+ raise(SIGTERM);
}
/*
@@ -1857,9 +1858,12 @@ winApplyHints(Display * pDisplay, Window iWindow, HWND hWnd, HWND * zstyle)
long supplied;
if (normal_hint &&
- (XGetWMNormalHints(pDisplay, iWindow, normal_hint, &supplied) ==
- Success)) {
+ XGetWMNormalHints(pDisplay, iWindow, normal_hint, &supplied)) {
if (normal_hint->flags & PMaxSize) {
+ /* Ensure default style is used if no other styling */
+ if (!(hint & ~HINT_SKIPTASKBAR))
+ hint |= HINT_BORDER | HINT_SIZEBOX | HINT_CAPTION;
+
/* Not maximizable if a maximum size is specified */
hint |= HINT_NOMAXIMIZE;
diff --git a/hw/xwin/winprocarg.c b/hw/xwin/winprocarg.c
index bb6efc3da..bff3fead9 100644
--- a/hw/xwin/winprocarg.c
+++ b/hw/xwin/winprocarg.c
@@ -1112,6 +1112,11 @@ ddxProcessArgument(int argc, char *argv[], int i)
return 1;
}
+ if (IS_OPTION("-nohostintitle")) {
+ g_fHostInTitle = FALSE;
+ return 1;
+ }
+
return 0;
}