Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
mingw does not support it.
|
|
UNICODE and _UNICODE must be defined before including any mingw
header for proper unicode support.
|
|
mingw has a _ftime_s prototype in its headers, but no corresponding
symbol available at link time. Workaround this issue for now by
#defining it to _ftime. This is untested on win64 where the workaround
may not be needed.
|
|
This makes building with mingw much more convenient.
|
|
%ls (or %S) must be used to printf a wchar_t *
|
|
VDAgent::_mouse_x and VDAgent::_mouse_y are both signed but are
always assigned values from VDAgentMouseState which are unsigned.
gcc warns about this so change them to unsigned values.
|
|
If we use char * instead of const char *, mingw gets confused when
calling the constructor with a const char *: it tries to convert it
to a mutable string through a std::string conversion and outputs
a warning.
|
|
|
|
This confuses the deque implementation of gcc which uses std::min
std::max and causes compile failure.
|
|
DWORD is an unsigned long, but it's assigned -1 in various places.
mingw warns when comparing a DWORD value against -1. This commit
casts the -1 to DWORD to avoid the warning.
|
|
mingw warns about using a variable before it's initialized, but
it's a false alarm. Initialize it to 0 to avoid the warning.
|
|
gcc complains about mixed use of signed/unsigned otherwise
|
|
|
|
|
|
linux systems need it in lower-case, Windows systems shouldn't
care.
|
|
|
|
It automatically chooses between using the gcc construct or the
visual-c++ construct at compile-time.
|
|
|
|
mingw already has SIZE_MAX defined so don't try to redefine it to
avoid a warning.
|
|
Most of them are caused by not using %lu to print a DWORD (which
is an unsigned long).
|
|
When checking for ConnectNamedPipe status, the error check uses
if ( err = ERROR_IO_PENDING) instead of using == which causes this
error check to always trigger. This commit fixes this, however it
needs careful testing since the fact that it went unnoticed means
the code with the bug was working as expected. Maybe changing it
will cause unexpected regressions.
|
|
On any change of the display settings, driven by client message or guest user,
normalize all display positions to non-negative coordinates, and update total
width and height of the virtual desktop. The bug was due to wrong handling of
(non-primary) displays positioned on negative coordinates.
Primary monitor is always located (in windows) in (0,0). When a secondary
monitor is positioned above/to the left of the primary, it will have negative
coordinate. This can be the case when guest display settings are changed either
manually on the guest, or due to a message (auto-conf VD_AGENT_MONITORS_CONFIG)
from the client to the agent.
In VDAgent::handle_mouse_event(), mouse event is generated by scaling the
received (x,y, display_id) to normalized absolute coordinates (0..0xffff) on
the entire virtual desktop which contains all the displays. Keeping negative
display coordinates, as received from the client, was mistakenly handled and
generated wrong (sometimes even negative) coordinates.
|
|
rhbz#750037
In case of agent launch failure: if connection state is not active(*), wait for
agent launch on the next session connection. Otherwise, the service is stopped.
(*) The failure was due to system startup timings and logon settings, causing
the first agent instance lifetime (before session connect) to be too short to
connect the service.
|
|
-use RHEV log format
-add log levels & macros
-remove LOG_ENABLED ifdefs
|
|
-use event queue for agent stop & desktop switch
-exit gracefully on session end
|
|
-extend vdagent wait timeouts
-timeout occured when connecting during windows startup, using wan emulator with
1Mbps bandwith, and only when qxl driver is installed. It might be due to spice
commands window control which in this case indirectly affects windows startup
timings (needs further investigation).
-fix wait for vdagent connect
-fix wait for vdagent termination & exit code handling
-cleanup & nicify relevant logs while debugging
|
|
pending (rhbz#725734)
Therefore in case of virtio-serial ReadFile timeout (new driver behavior),
the next VirtioVDIPort::read() call by the service will be performed,
since it is now (!_read.pending).
|
|
|
|
|
|
|
|
fill_agent_events() will not add it to the events used by WaitFor(),
preventing usage of a dead process handle.
|
|
passing NULL is buggy when pipe opened with FILE_FLAG_OVERLAPPED
|
|
-prevent race between service control manager (SCM) & the service main thread.
-use events for stop, logon, agent restart.
-thread-safe control command queue
|
|
instead of SPICE_COMMON_DIR, which is an old and confusing name,
due to the common directory in spice git repo.
|
|
-don't fail to start when no qxl driver installed
-if qxls found use them, otherwise just use enumerated non-mirror devices
-currently qxl/non-qxl multimon mix is not supported
|
|
|
|
(rhbz#667777)
which is beacuse ReadFile completed successfully without pending and the data was already consumed
|
|
unix2dos
|
|
* move comment about ring to the proper file, vdi_port.h
* introduce enums for EVENT indices (0,1 for Virtio, 0 for PCI)
* move fill_events to cpp (leave the single lines inline).
|
|
This patch is a little dirty due to EOL convertion to windows format.
+ add pci_vdi_port with PCIVDIPort taken from last commit before
changing to virtio-serial (a17ccbf323768c3cb977f0f062366ba7cf7f19db)
+ move handle_error to VDIPort (identical in VIRTIOVDIPort and PCIVDIPort)
+ make VDService create first a virtio, then init, the pci, then init,
stopping when the first init succeeds, and reporting to log which was
created.
|
|
debug prints
|
|
make VDIPort an abstract class.
rename old VDIPort VirtioVDIPort.
h file for virtio_vdi_port will be introduced later.
|
|
introduce VDIPort::get_num_events and VDIPort::fill_events,
change VDService::_events to be dynamically allocated
document _events contents: STATIC events, then vdi_port, then agent.
|
|
similar handling as linux agent
|
|
-currently png & bmp
-using wspice libs cximage.lib & png.lib
-jpg & tiff will follow
|
|
This reverts commit 53b32d4db33af4422382fbe629bb0314e252bdda which becomes irrelevant due to previous revert.
|
|
This reverts commit 349e6a5bf8804b25c3af6e1f439122a7cc269cc2 which breaks vsdervice on Windows 7
|
|
|
|
Instead of keeping a flag, we simply check wether the new owner is usor not
|