summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-02-23mingw: add Visual C++ files to EXTRA_DISTmingwChristophe Fergeau1-0/+10
2012-02-23mingw: remove tMain useChristophe Fergeau2-4/+4
mingw does not support it.
2012-02-23mingw: make sure unicode support is enabledChristophe Fergeau9-2/+15
UNICODE and _UNICODE must be defined before including any mingw header for proper unicode support.
2012-02-23mingw: workaround _ftime_s bugChristophe Fergeau1-1/+7
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.
2012-02-23mingw: add autotools build systemChristophe Fergeau3-0/+324
This makes building with mingw much more convenient.
2012-02-23mingw: fix format string for wchar_tChristophe Fergeau1-1/+1
%ls (or %S) must be used to printf a wchar_t *
2012-02-23mingw: fix another signed/unsigned warningChristophe Fergeau1-2/+2
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.
2012-02-23mingw: use const char * in DisplaySetting()Christophe Fergeau1-1/+1
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.
2012-02-23mingw: don't redefine CTL_CODE if it's already definedChristophe Fergeau1-0/+3
2012-02-23mingw: workaround ximage.h #defining min/maxChristophe Fergeau1-0/+2
This confuses the deque implementation of gcc which uses std::min std::max and causes compile failure.
2012-02-23mingw: fix signed/unsigned comparison warningChristophe Fergeau1-1/+1
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.
2012-02-23mingw: workaround "use of unitialized var" warningChristophe Fergeau1-1/+1
mingw warns about using a variable before it's initialized, but it's a false alarm. Initialize it to 0 to avoid the warning.
2012-02-23mingw: use unsigned int in for loops when neededChristophe Fergeau2-5/+5
gcc complains about mixed use of signed/unsigned otherwise
2012-02-23mingw: fix initialization list order for VDAgent()Christophe Fergeau1-2/+2
2012-02-23mingw: remove unused variableChristophe Fergeau1-1/+0
2012-02-23mingw: fix header caseChristophe Fergeau1-1/+1
linux systems need it in lower-case, Windows systems shouldn't care.
2012-02-23mingw: use explicit std:: namespace for min/maxChristophe Fergeau1-4/+4
2012-02-23mingw: use gcc attributes for struct packingChristophe Fergeau1-2/+10
It automatically chooses between using the gcc construct or the visual-c++ construct at compile-time.
2012-02-23mingw: disable vc-specific #pragmaChristophe Fergeau1-0/+2
2012-02-23mingw: don't redefine SIZE_MAXChristophe Fergeau1-0/+2
mingw already has SIZE_MAX defined so don't try to redefine it to avoid a warning.
2012-02-23mingw: fix format string warningsChristophe Fergeau9-91/+91
Most of them are caused by not using %lu to print a DWORD (which is an unsigned long).
2012-02-23Fix = use instead of ==Christophe Fergeau1-1/+1
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.
2012-02-05vdagent: fix cursor position sync on multimon rhbz#757819Arnon Gilboa2-19/+34
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.
2011-12-28vdservice: fix vdagent first launch (during startup) failure handling ↵Arnon Gilboa1-8/+34
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.
2011-11-21vdlog: change log times to human readable date & time rhbz#672828Arnon Gilboa2-19/+47
-use RHEV log format -add log levels & macros -remove LOG_ENABLED ifdefs
2011-11-16vdagent: release clipboard ownership on agent stop & desktop switch rhbz#731628Arnon Gilboa1-21/+65
-use event queue for agent stop & desktop switch -exit gracefully on session end
2011-11-16vdservice: fix vdagent connection & termination handling rhbz#750037Arnon Gilboa1-28/+40
-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
2011-08-01virtio_vdi_port: if async read returns with ERROR_OPERATION_ABORTED, cancel ↵Arnon Gilboa1-4/+10
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).
2011-07-24vdagent: add castingArnon Gilboa1-1/+1
2011-07-24vdagent: remove whitespacesArnon Gilboa1-4/+4
2011-07-24vdservice: extract init_vdi_port()Arnon Gilboa1-13/+16
2011-07-24vdservice: clean agent proc handle in kill_agent()Arnon Gilboa1-4/+7
fill_agent_events() will not add it to the events used by WaitFor(), preventing usage of a dead process handle.
2011-07-24vdservice: use overlap ConnectNamedPipe() in launch_agent()Arnon Gilboa1-6/+19
passing NULL is buggy when pipe opened with FILE_FLAG_OVERLAPPED
2011-07-24vdservice: add control events RHBZ #719140 #722980Arnon Gilboa1-28/+55
-prevent race between service control manager (SCM) & the service main thread. -use events for stop, logon, agent restart. -thread-safe control command queue
2011-05-03vdagent: use SPICE_PROTOCOL_DIR in project include dirsArnon Gilboa2-8/+8
instead of SPICE_COMMON_DIR, which is an old and confusing name, due to the common directory in spice git repo.
2011-04-28vdagent: remove dependency on qxl driver (rhbz#683166)Arnon Gilboa2-32/+73
-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
2011-04-28vdservice: support w2k3 32/64/r2, w2k8 32/64/r2 (rhbz#683166)Arnon Gilboa1-11/+10
2011-04-28vdservice: don't close pipe if overlapped I/O event is not in signaled state ↵Arnon Gilboa1-1/+1
(rhbz#667777) which is beacuse ReadFile completed successfully without pending and the data was already consumed
2011-01-11vdservice: s/fill_events(HANDLE *handle)/fill_events(HANDLE* handles)/ + ↵Alon Levy5-362/+362
unix2dos
2011-01-11vdservice/vdi_port refactor: cosmetic changesAlon Levy6-89/+113
* 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).
2011-01-11vdi_port refactor: introduce old pci_vdi_portAlon Levy8-86/+307
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.
2011-01-11vdi_port refactor: move ring handling to VDIPort, split h file, remove some ↵Alon Levy5-123/+136
debug prints
2011-01-11vdi_port refactor: introduce interfaceAlon Levy3-30/+46
make VDIPort an abstract class. rename old VDIPort VirtioVDIPort. h file for virtio_vdi_port will be introduced later.
2011-01-11start refactoring vdi_portAlon Levy3-36/+66
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.
2010-12-14vdagent: use best match for resolution changeArnon Gilboa2-32/+57
similar handling as linux agent
2010-11-23vdagent: add image copy-paste supportArnon Gilboa2-76/+159
-currently png & bmp -using wspice libs cximage.lib & png.lib -jpg & tiff will follow
2010-11-09Revert "vdservice: add missing vdcommon.cpp"Arnon Gilboa1-19/+0
This reverts commit 53b32d4db33af4422382fbe629bb0314e252bdda which becomes irrelevant due to previous revert.
2010-11-09Revert "vdservice: don't start when no qxl device present"Arnon Gilboa6-44/+21
This reverts commit 349e6a5bf8804b25c3af6e1f439122a7cc269cc2 which breaks vsdervice on Windows 7
2010-10-11vdagent: handle multiple types on clipboard grab send & receiveArnon Gilboa1-29/+41
2010-10-06vdagent: remove clipboard_changer hackArnon Gilboa1-7/+5
Instead of keeping a flag, we simply check wether the new owner is usor not