Avoid a null pointer dereference if WM_MOUSEMOVE occurred before
the input device had been initialized (a timing sensitive bug
occassionally seen during initialization)
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Make -logverbose affect the verbosity of logging to the log file, not just the
verbosity of logging to the console
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Remove the obsolete DISCARDABLE flag in the .rc file
Replace the obsolete DIALOG resource with DIALOGEX in the .rc file
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
The rootless extension now directly calls some Xplugin functions, and relies
on types defined in Xplugin.h, which isn't very abstracted :-)
This patch is a start at abstracting some of the Xplugin specific stuff which
has crept into rootlessWindow.c. This has been done in a pretty mindless fashion,
without much thought as to if the additions to the generic rootless interface are
the correct ones
There is some confusion as to if RootlesscolormapCallback() returns a Bool or
xp_error_enum value (not so abstact), but I have no way of checking, of finding
out if Xplugin actually checks the result :-)
Based on patches from Colin Harrison, Jon Turney and Yaakov Selkowitz
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
include/protocol-versions.h specifies each extension version as supported by
the server and sent back on the wire to the client.
This fixes up several issues with the server potentially reporting a higher
version of the protocol if recompiled against a newer version of the
protocol.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Rémi Cardona <remi@gentoo.org>
Acked-by: Julien Cristau <jcristau@debian.org>
fd.o bugzilla #4491
originally from a patch by Joe Krahn <jkrahn@nc.rr.com>
Convert a NET_WM_ICON to a native icon by converting to a native
bitmap and then using CreateIconIndirect()
Don't use icon alpha on Windows 2000 or if display isn't 32-bit, convert
alpha channel to a 1-bit transparency mask using a threshold value
Fix warning in winScaleXBitmapToWindows() about signedness of *iconData
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Get/SetWindowLong() is superseded by Get/SetWindowLongPtr(), so change to
using that everywhere it remains
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
A few tweaks to winUpdateWindowPosition():
* Don't allow window decoration to disappear off to top or left edge of the
display as a result of adjustments to add decoration for the window style
* Honour the position requested by window geometry for the client area (so
windows which save their position don't get moved by the decoration width
every time they are created) (unless we need to bump it away from top or left edges)
* Fix an issue with initial window placement being offscreen on multimonitor
systems when some monitors have negative coordinates (are to the left of or
above the primary monitor)
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Remove frames from 'dock' windows and make them topmost in -multiwindow mode.
Remove frames from windows with MOTIF_WM_HINTS of no decorations in -multiwindow mode.
Apply some _NET_WM_STATE hints in -multiwindow mode.
Apply window styles overrides from .rc file
Correctly update region of shaped windows when applying styles
Copyright (C) Colin Harrison 2005-2009
http://www.straightrunning.com/XmingNotes/http://sourceforge.net/projects/xming/
from fd.o Bugzilla #4491:
There is no point in having one class for every window, aside from trying to
set custom icons via the class, which we no longer do, so converted to using
a single class for all client windows.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Build and link with rootless extension
Update Xwin code for removal of RootlessAccelInit()
Fix Xwin code which now has a collision with the type name EventType
Based on patches from Colin Harrison, Jon Turney and Yaakov Selkowitz
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Handle and ignore WM_ERASEBKGND since we repaint the entire invalidated region anyhow
(this avoids a white flickering on window resize)
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Mouse pointer warping in multiwindow/rootless mode was never implemented,
due to concerns that moving the mouse pointer without asking might be rude
This patch allows X applications to move the mouse pointer in rootless modes,
Let's hope they don't abuse this privilege ;-)
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
In -multiwindow mode, tell Windows we wish to capture the mouse when a button
is down. This causes Windows to continue to send movement events for the mouse
even if the mouse pointer moves outside the window frame.
This helps greatly with undecorated windows which have regions you can grab
to move (e.g. gmplayer, xine control panels) or resize (e.g. Songbird) the
window, as it means the window continues to receive the mouse motion even if the
mouse pointer moves out of the window (which presumably happens if we don't
manage to update the window fast enough to track the mouse pointer)
Consolidate the multiple instances of the code to start the mouse position
polling timer into a new function winStartMousePolling(), and use that to
restart the polling timer when we release the mouse.
Also, start the timer on WM_SHOW, so that xeyes will track the mouse position
when it is first shown, even if the mouse doesn't enter it's window
(You probably need focus-stealing turned off to see this problem)
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Make the logic simpler for the ownership release of the Windows
clipboard in winclipboardwrappers.c - We've already marked a selection
as unowned if it is owned by our clipboard window
Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/http://sourceforge.net/projects/xming/
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Remove a bodge to avoid collision between X header and the native
Win32 API definitions of ATOM, use X11/Xwindows.h which exists to
address these issues
Consequently, include misc.h in winclipboardthread.c, to provide the
max() macro, as previously we were using the the one from windows.h
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Update icons directly to windows rather than modifying
the window's class. Respect custom icons overriden via
the configuration file.
fd.o bugzilla #4491
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Changed windialogs.c to set icons via window properties rather than class
properties, and use LoadImage() for small icons, because LoadIcon() can only open
large icons. Since this code is redundant across the dialogs, I put it in the
winCenterDialog function, along with a few other redundant instructions, and
renamed in winInitDialog().
Also, don't bogusly put our dialogs at the center of the virtual desktop if we
are on a multimonitor system (this causes the dialog to end up split across two
monitors in a dual-monitor side-by-side setup)
Corrections to use HWND_TOPMOST instead of HWND_TOP and not to use SWP_NOZORDER
from Colin Harrison
fd.o bugzilla #4491
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Commit 987579c930 moves main.c into
into libmain.a to be linked with separately, and updates the various
DDXs to link with libmain.a, except Xwin, which also needs this change.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Fix keyboard layout mapping table entry for Windows keyboard layout 0x80a
(Latin American), layout should (now) be 'latam', not 'la' which is Laos
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
An update to the keyboard layout mapping table which updates some no longer valid keyboard layout names
(e.g. de_CH -> ch -variant de) and adds a few more reported layouts
Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/http://sourceforge.net/projects/xming/
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Function 'winProcessXEventsTimeout()' is declared 'static Bool' and
defined 'static int' (correct) in 'winclipboardwndproc.c'. This has been
wrong since dot, but luckily was of no significance
Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/http://sourceforge.net/projects/xming/
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
The clipboard should only select PropertyChange events and do this on
the correct window, the messaging window for the clipboard not the root
window!
Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/http://sourceforge.net/projects/xming/
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Fix prototypes of winOverrideIcon(), winTaskbarIcon() and winOverrideDefaultIcon() to return HICON
Also use HICON type in WINPREFS stucture
Remove various casts these changes make unnecessary
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Fix old-style definition warnings caused by definitions with empty
parameter lists "()", which should be "(void)" to indicate the function
takes no parameters, rather than unspecified parameters
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Fix a stray '}'
Update to use RMLVO interface
Remove g_winInfo.xkb.disable, can never be set since noXkbExtension has been removed
Change to retrieve modifier key state using XkbStateFieldFromRec() from Colin Harrison
Update to use XKB defaults from xkb-config.h
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
We already have modmap (in the exact same format!) in XKB, so just use
that all the time, instead of duplicating the information.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
No more #ifdef XKB, because you can't disable the build, and no more
noXkbExtension either.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Fix internal WM to notify X when the keyboard focus is lost to a pure Windows window in -multiwindow mode.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Fix internal WM so it only allows WM_MOUSEWHEEL messages to act on the client area of a focused window.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Fix internal WM to correctly parent XA_WM_TRANSIENT_FOR windows in -multiwindow mode when a windows window is created,
and to de-iconize parent windows when a child window acquires focus.
XXX: Perhaps we should also shuffle parent(s) forward through Z-order when a child acquires focus?
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Correct the tooltip text for the toolbar X icon to be strictly correct, 'display-number:screen' should be ':display-number.screen'.
Also for the default window title.
Adjust the style of the Windows title in XDMCP mode from 'Xming - hostname' to 'hostname:display-number.screen'.
Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/http://sourceforge.net/projects/xming/
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reduce MOUSE_POLLING_INTERVAL from 500ms to 50ms
In -multiwindow mode, this determines how quickly X windows can track the mouse
when it is outside any X window... Move the cursor around an xeyes, and you will
see what this timing effects.
Add -static back to linker flags to avoid screwing things up for
people who don't know that they need to avoid dynamically linking
with libXfont, as weak symbol handling requires static linking to
work correctly on Cygwin...
Fixes for a few remaining build issues, omitted from commmit 6e85a8304b in error
Provide VENDOR_RELEASE in XORG_VERSION_CURRENT for XWin
Remove -static from linker flags for XWin
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
fd.o bugzilla #11128
Fix crashes when using the '-refresh rate-in-Hz' option in -fullscreen mode and using a DirectDraw engine.
On failure (typically 0x80004001 DDERR_UNSUPPORTED), use the default refresh rate for the driver, instead of the
entered value.
Also fix some nearby error reporting
Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/http://sourceforge.net/projects/xming/
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
The function winMultiWindowGetTransientFor() crashes, due to a bogus pointer
dereference, but this fact was previously hidden by the function not being called!
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
fd.o bugzilla #4491
Transparent icon backgrounds appear with black stripes as mask data is incorrectly aligned.
Modified the icon DDB bitmap data alignment to 16 bits
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Fix the native HWND atom identifier to be initialized correctly, when built without external WM support
This is neccessary for native window naming to work correctly in multiwindow internal WM mode.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Bring Cygwin/X up to date with the change to damage-based shadow framebuffer.
Register the screen bitmap as the shadow framebuffer after screen resources
are created.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
The Cygwin/X build has been broken for a long time, probably since modular X
This patch fixes up configure/makefile and some general build issues (#18568)
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
A grep on xorg/* revealed there's no consumer of this define.
Quote Alan Coopersmith:
"The consumer was in past versions of the headers now located
in proto/x11proto - for instance, in X11R6.0's xc/include/Xproto.h,
all the event definitions were only available if NEED_EVENTS were
defined, and all the reply definitions required NEED_REPLIES.
Looks like Xproto.h dropped them by X11R6.3, which didn't have
the #ifdef's anymore, so these are truly ancient now."
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>