Commit Graph

1723 Commits

Author SHA1 Message Date
Armin Novak 31862e60f9 Added missing return checks 2021-06-16 11:46:42 +02:00
Armin Novak 216f65336e Fixed HashTable and ArrayList use errors 2021-06-16 11:46:42 +02:00
Armin Novak c2bef2bfa9 Fixed return value checks for ArrayList_Append and HashTable_Insert 2021-06-16 11:46:42 +02:00
Armin Novak 924f1bfebd Fixed xfreerdp check against wrong variable 2021-06-16 11:46:42 +02:00
Armin Novak d6c84c28fb Renamed ArrayList_Add to ArrayList_Append
* Do not break API silently
2021-06-16 11:46:42 +02:00
Armin Novak a1c8e4cf85 Refactored ArrayList_Add to conform to other functions 2021-06-16 11:46:42 +02:00
Armin Novak 880c603c26 Renamed HashTable_Add to HashTable_Insert
* Since the changes break HashTable_Add rename it so that it will
  not fail silently
2021-06-16 11:46:42 +02:00
Armin Novak cb642699c8 Modified HashTable API to be opaque
* Reuse wObject function pointers
* Add missing getters/setters
* Clean up return types, const correctness of arguments
2021-06-16 11:46:42 +02:00
Armin Novak d36d94766e Replaced assert with WINPR_ASSERT 2021-06-14 09:37:07 +02:00
akallabeth 6b36c6d417
Replace fopen and path functions with wrappers (#7043)
Functions like fopen, PathFileExists, PathMakePath need to call
the wide character versions on windows for utf-8 support.
2021-05-31 11:42:03 +02:00
Armin Novak 1d53117508 Fixed async-input quit 2021-05-20 15:08:40 +02:00
David Fort 4753c64038 X11: don't instanciate a clipboard implementation when clipboard is disabled 2021-05-12 09:19:55 +02:00
Ondrej Holy 892cbe3261 Fix various memory leaks reported by Coverity
Covscan report contains various memory leak defects which were marked
as important. I have spent some time analyzing them and although they
were marked as important, most of them are in error cases, so probably
nothing serious. Let's fix most of them anyway. The rest are false
positives, or too complicated to fix, or already fixed in master, or
simply I am unsure about them.

Relates: https://github.com/FreeRDP/FreeRDP/issues/6981
2021-04-27 14:25:20 +02:00
akallabeth 9f573a1b40 Fixed #6938: Remote app mode clipboard fix
In remote app mode the _FREERDP_TIMESTAMP_PROPERTY does not work.
Therefore ignore it
2021-04-16 11:18:00 +02:00
Norbert Federa 689cb70da2 client/x11: fix parent window size restrictions
If a parent window id is specified, the "workarea limits" of the
display must not apply.
2021-04-16 10:28:14 +02:00
Armin Novak 1fa0b80f7f Removed nautilus clipboard file hack
This prevents remote to properly paste text
2021-03-10 15:48:58 +01:00
Armin Novak df785f7b77 Refactored X11 clipboard 2021-03-10 15:48:58 +01:00
akallabeth 618227d751 Fix xf_Pointer_SetPosition with smart-sizing 2021-03-08 14:25:59 +01:00
Armin Novak b1ff171413 Fixed #6014: XFCE minimized state 2021-02-25 14:17:39 +01:00
sss 6574fdf6e4 reverted changes from clang-format 2021-02-25 14:05:40 +01:00
Gluzskiy Alexandr bee2e1526d allow to use in single threaded mode
(some client side channels and all server side channels still need to be
ported to new api)

server: build fix, do not disable threads for rfx encoder

cliprdr client channel: implemented support for DisableThreads option
looks like thread does not make sense at all for this channel

do not initialize disabled image codecs (respect settings)

channels: client: rail: added support for DisableThreads setting

changed "BOOL DisableThreads" to "UINT32 ThreadingFlags"
dropped unnecessary apu changes

draft implementation of threading settings aware message handling api
for addins/channels

rail: use new messaging api

fixed memory leak

msgs handlers external api changes (as requested)

msgs_handlers: init fix

fixed memory leak

logic fix

resolved problems appeared after rebase to master, dropped unnecessary
changes

git clang-format origin/master

fixed TestFreeRDPCodecRemoteFX.c

"formatting, run `clang-format` please"

properly use new "rfx_context_new(BOOL, UINT32)" everywhere

passed Threading Flags to "rfx_context_new" where available

in older C standarts veriables declaration must be done before any code

requested changes

clang-format as requested

use broken signatures of standert C functions for m$ s**tos

clang-format

requested changes

requested changes

moved ThreadingFlags to stable api zone

define type for channel msg handler

typo fix

clang-format

build fix

us ThreadingFlags from server settings

git clang-format origin/master

clang-format
2021-02-25 14:05:40 +01:00
Max Roncace bf9bce2c3e Fix /monitor-list flag being ignored on X11/Wayland 2021-02-25 11:47:18 +01:00
Malte Starostik 06219e4ecb X11 client: ignore grab related LeaveNotify events
This fixes click and drag or more generally any press-hold-release combinations
for the primary mouse button.
Without this, click and drag, drag and drop and in, some remote applications
that presumably rely on the full press-release sequence, even button
presses don't always work.
2021-02-23 14:05:11 +01:00
akallabeth 43311130a2 Fixed CodeQL warnings 2021-02-19 11:19:49 +01:00
akallabeth 1dae0552d7 Fixed various warnings 2021-02-16 16:28:57 +01:00
akallabeth 293d7511e9 Fixed #6712: Use window size from settings
The xfc->window might be NULL (remote app, ...)
2021-02-15 09:03:03 +01:00
Martin Fleisz 6b686eb834
Merge pull request #6806 from akallabeth/xfreerdp-twos-complement-wheel-mask
clients: Use the correct wheel rotation value
2021-02-11 12:21:50 +01:00
Pascal Nowack 1087a5e1a6 clients: Use the correct wheel rotation value
For the negative scrolling direction, RDP uses the two's complement,
instead of the positive wheel value with the negative flag.
xfreerdp currently uses the positive wheel value in addition to the
negative flag, which results in a wrong wheel value on the server side
(136 instead of 120).

Fix this, by using the correct wheel rotation value, which is in the
two's complement.
2021-02-11 09:54:03 +01:00
akallabeth d3ed42a799 Fixed #6801: Delay sending of resolution change
Changed the logic of the disp channel to wait for 800ms after a
ConfigureNotify before sending the new resolution.
The problem fixed with this patch is the following:
1.  Resize the window with the mouse
2.  ConfigureNotify triggers a resize notification
3.  The server resizes to the desired resolution
3a. More ConfigureNotify events are generated
4.  The local window resize to the new resolution triggers another
    ConfigureNotify

a. Depending on the timing (sending is already rate limited) the
   events from 3a and 4 will make the size of the window jump
b. Very fast resizing will pick a random resolution from the
   sequence of ConfigureNotify events as the final resolution
2021-02-10 15:38:03 +01:00
Armin Novak 65647d5763 Use separate codec contexts for legacy and GFX 2021-02-10 10:38:24 +01:00
Martin Fleisz 784f445aa1
Merge pull request #6609 from akallabeth/clip_response
Fixed sending of clipboard format request response
2021-02-05 10:18:08 +01:00
Martin Fleisz 21158c0e8b
Merge pull request #6537 from akallabeth/kbd_remap
Added option to remap scancodes
2021-02-05 09:31:45 +01:00
akallabeth a51f4ccaaa Filter out duplicate ClientFormatList announcements 2021-01-25 10:34:11 +01:00
akallabeth 2efb7d9274 Fixed sending of clipboard format request response
If a request was pending and new formats were announced the response
to a ServerFormatDataRequest was never sent.
2021-01-25 10:32:50 +01:00
akallabeth f3dad4106a Fixed support for huge files in clipboard 2021-01-25 08:43:46 +01:00
Ondrej Holy d7566f5f5a
client: Fix exit codes for /help and similar option (#6741)
* client: Fix exit codes for /help and similar option

Currently, non-zero exit code is returned for /version, /buildconfig, /help,
/monitor-list, /kbd-list and /kbd-lang-list command-line options for several
clients. This is against conventions because 0 is usually returned in
such cases. Also, there is potentially another problem that the returned
codes overflow on UNIX systems (where the exit code is a number between 0
and 255). Let's fix the clients to return 0 in the mentioned cases to honor
conventions and 1 for the command-line parsing errors (or -1 for clients
who already use that value).

Fixes: https://github.com/FreeRDP/FreeRDP/issues/6686

* Refactored freerdp_client_settings_command_line_status_print_ex

Now returns 0 if help or version information was requested.

* Do not eliminate original error status.

Co-authored-by: akallabeth <akallabeth@posteo.net>
2021-01-22 09:44:55 +01:00
akallabeth 4ca2090f03 Return ENOENT if fuse_ino_t is not found 2021-01-18 19:13:56 +01:00
Armin Novak 78435c2eea Added missing errno.h include 2021-01-18 19:13:56 +01:00
Armin Novak 72d9b7f7f5 Added add_definitions(-D_FILE_OFFSET_BITS=64) 2021-01-18 19:13:56 +01:00
jackyzy823 b972d70a9e x11: refactor fuse code 2021-01-18 19:13:56 +01:00
jackyzy823 7f043ebb52 x11: update cmake file to build with fuse2/fuse3 or without fuse 2021-01-18 19:13:56 +01:00
jackyzy823 1de1f113ed x11: more error handling for remote to local file copy 2021-01-18 19:13:56 +01:00
jackyzy823 a61c185d30 x11: implement all related code to file content request for size and FD_WRITESTIME flag in response , fix include dir for fuse 2021-01-18 19:13:56 +01:00
jackyzy823 d537988f28 x11: add support for remote to local clipboard file copy 2021-01-18 19:13:56 +01:00
Armin Novak 555e1ad8f2 Properly discard xfc->appWindow on focus loss 2021-01-11 15:18:30 +01:00
akallabeth 50e1c20786 Fixed #6635: Use correct window handle for pointer operations 2021-01-11 15:18:30 +01:00
kubistika 32ed597f5a x11: use correct contact flag names in xf_input_touch_state_string 2021-01-02 11:05:10 +01:00
Simon Tatham 1dc8198803 Command-line option to choose an X selection.
I personally find it more convenient to have pasted data written to
the X11 PRIMARY selection, so that I can paste it with a fast middle-
button click, than to write to CLIPBOARD which typically needs a key
sequence or menu action.

This commit adds a command-line option to let me express that
preference: now I can say "/clipboard:use-selection:PRIMARY" on the
command line, which not only enables clipboard transfer but also says
which X selection I want it to talk to. The previous options
"+clipboard" and "-clipboard" are also still supported.
2020-11-20 08:34:20 +01:00
Simon Tatham c90479c7f5 winpr/utils: allow COMMAND_LINE_VALUE_{OPTIONAL,BOOL} to coexist.
Now you can give an option the combination of flags
COMMAND_LINE_VALUE_OPTIONAL and COMMAND_LINE_VALUE_BOOL. If you do,
then all three of the syntaxes +foo, -foo and /foo:value are allowed
at once, and the receiving code can tell the difference because the
Value field is set to BoolValueTrue, BoolValueFalse or a valid char
pointer.
2020-11-20 08:34:20 +01:00
Simon Tatham 3c104d9b9b xf_cliprdr: fill in support for TIMESTAMP requests.
A selection owner is supposed to respond to a request for the
selection target TIMESTAMP by providing the X server time at which the
selection was written. There was a /* TODO */ comment in xf_cliprdr
where the code to do that should have been.

The absence of this can cause a problem when pasting into some X
clients. xtightvncviewer, in particular, will give up the attempt to
read from the clipboard at all if it doesn't get a satisfactory
response to the initial TIMESTAMP request - and the non-answer zero
value "CurrentTime" counts as unsatisfactory. It won't be happy with
anything short of a real X server time value.

(Checking the VNC source code, that's because it reads both PRIMARY
and CLIPBOARD and picks the one with the later timestamp. So it does
depend on the timestamps existing.)

When you're writing to the selection in response to a normal X event
like a mouse click or keyboard action, you get the selection timestamp
by copying the time field out of that X event. Here, we're doing it on
our own initiative, so we have to _request_ the X server time. There
isn't a GetServerTime request in the X protocol, so I work around it
by setting a property on our own window, and waiting for a
PropertyNotify event to come back telling me it's been done - which
will have a timestamp we can use.
2020-11-20 08:34:20 +01:00
akallabeth 13c8a60b70 Fixed display channel anounce race
* The display resolution change message was prone to a race condition
* Check for actual fullscreen state instead of settings
* Assume 75dpi for display resolution to mm conversion
2020-11-13 18:09:07 +01:00
akallabeth dfbf300389 Conservative keyboard state sync, refactored input API 2020-11-10 10:26:41 +01:00
akallabeth 66dc4cc9ee Fixed compilation warnings. 2020-11-10 08:53:43 +01:00
akallabeth 6e3c00725a Cleaned up collections:
ArrayList, MessageQueue, Queue, PubSub, BipBuffer
ObjectPool and BufferPool
2020-11-06 12:30:13 +01:00
Armin Novak d7bf6553c5 Added option to remap scancodes 2020-10-29 18:44:32 +01:00
Martin Fleisz c47b15945b
Merge pull request #6499 from akallabeth/leak_fixes
Fixed leak on cursor update.
2020-10-29 12:08:16 +01:00
Martin Fleisz 7be04e212b
Merge pull request #6466 from akallabeth/memsan
Memsan: fixes (most) unit tests for use with memory sanitizer
2020-10-28 09:46:12 +01:00
akallabeth 896b7bc711 Added support for xwayland keyboard grab 2020-10-27 15:45:44 +01:00
akallabeth 488ffe31fc Fixed leak on cursor update. 2020-10-05 09:45:45 +02:00
akallabeth f282c55c7a Added clipboard CB_HUGE_FILE_SUPPORT_ENABLED flag 2020-09-29 09:03:49 +02:00
akallabeth 4f8a48d96e Fixed variable declaration in loop 2020-09-22 07:43:56 +02:00
akallabeth 1546a8b655 Fixed naming of FILEDESCRIPTORW 2020-09-18 12:49:54 +02:00
Armin Novak ddde652460 Fix variable declaration in loop 2020-09-16 09:30:37 +02:00
Nathan Loewen e24c95f90e X11: Scale cursor when SmartSizing is on 2020-09-14 09:21:33 +02:00
Armin Novak 816e792e3f Fixed unit tests run under memory sanitizer 2020-09-07 10:42:28 +02:00
Armin Novak e50a8e09ee Fixed warnings. 2020-08-10 12:26:46 +02:00
Martin Fleisz 3753f0ea9c Implement gateway message callback for Windows, Wayland and X11 clients 2020-08-04 15:58:48 +02:00
akallabeth b971c5c97f Use CMake to detect availability of getlogin_r 2020-07-01 16:50:20 +02:00
akallabeth 36478d3d0b Replaced getlogin with getlogin_r 2020-06-22 11:51:38 +02:00
makki_d 4607a2766a fix +unmap-buttons option having the opposite effect 2020-06-04 18:22:55 +09:00
Simon Tatham 921cd45d42 [generate_argument_docbook] Fix typo in XML entity.
The character '>' was being rendered as &lt; instead of &gt;.
2020-06-02 09:44:41 +02:00
Armin Novak e241044f1f Fixed #6221: Update floatbar position with multitouch input 2020-05-25 08:43:03 +02:00
akallabeth eb088e0812 Fixed NULL access of context struct on screen draw
Added a log message to fix occurances later on.
2020-05-18 16:57:02 +02:00
akallabeth 7890833af8 Replaced strtok with strtok_s 2020-05-18 11:39:22 +02:00
akallabeth cbee45aace Fixed clipboard 'called with invalid type' warning 2020-05-06 13:31:57 +02:00
akallabeth 701770c69a Made xf_OutputExpose non blocking.
In case xf_OutputExpose is called with GFX or async-update a race
condition occured in combination with dynamic-resolution.
To prevent the deadlock update the screen on a best effort basis.
2020-04-18 10:18:31 +02:00
Nathan Loewen 3ee0cc6b70 Make use of percent scale if available when calculating monitor sizes 2020-04-11 09:06:00 +02:00
LatinSuD a6ccd38b68 Free clipboard respond to fix bug
Fixes #5997 (clipboard stops responding in the middle of a session)
2020-03-27 09:13:38 +01:00
Armin Novak 4530a9a631 Modified xf_lock_x11 and xf_unlock_x11, allow recusive
The X11 locking routines did not handle multiple locks from the same
thread well. This pr fixes that.
2020-03-04 15:50:47 +01:00
Armin Novak 032574cc8f X11 XEvent handling use const arguments 2020-03-04 10:38:41 +01:00
Armin Novak f32a46370c X11 XEvent disp refactored to use const arguments 2020-03-04 10:38:41 +01:00
Armin Novak b48967d559 X11 XEvent refactored input
* Use proper types and const arguments where appropriate
2020-03-04 10:38:41 +01:00
Armin Novak 2b30c03fcf X11 XEvent refactored floatbar
* Use const event pointers of correct type where appropriate
2020-03-04 10:38:41 +01:00
Armin Novak ba5400f110 X11 XEvent clipboard processing cleanup
* Use const X*Event where possible
* Helper functions use the actual type as argument
2020-03-04 10:38:41 +01:00
Armin Novak db80f97d50 X11: Lock display during event processing
* Added a X11 lock debug messages for incorrect locking.
* Lock X11 display during XEvent processing
2020-03-04 10:38:41 +01:00
Armin Novak 38d5e14e9f Reverted minimum scaling diff
Revert to the diff value from @volth
2020-03-04 08:02:25 +01:00
Martin Fleisz 10d1146049
Merge pull request #5906 from akallabeth/tsmf_disable_for_good
Made CHANNEL_TSMF optional and deprecated.
2020-02-26 14:41:46 +01:00
Norbert Federa ceb015a6bb egfx: the gfx reset grahics pdu is optional
Since the EGFX Reset Graphics PDU seems to be optional,
the graphicsReset variable (which is updated in that PDU's handler)
should be removed from the rdp_gdi struct with the next change
in public headers (as in freerdp v3).
There are still some clients that expect and check it and therefore
we keep it for now, initialized with TRUE.

sdas
2020-02-26 13:57:12 +01:00
Armin Novak 829497b313 Made CHANNEL_TSMF optional and deprecated. 2020-02-26 13:56:43 +01:00
Martin Fleisz dc89923f4a
Merge pull request #5732 from akallabeth/floatbar_button_fix
Fixed #5730: Decoupled floatbar button focus from click events.
2020-02-21 11:36:49 +01:00
Sergey Bronnikov 6d6956a139 client: remove unused variable 2020-02-17 15:49:26 +01:00
Alexander Volkov f0321a049d client/X11: Avoid crash in XGetDeviceButtonMapping()
XOpenDevice() may fail and return NULL, so try to find the first
pointer device that can be opened, and ensure that ptr_dev argument
is not NULL before passing it to XGetDeviceButtonMapping().
2020-01-16 08:46:11 +01:00
David Fort 30d6e25def
Merge pull request #5750 from akallabeth/encomsp_auto
Encomsp automatic input control && cleanups
2020-01-15 13:56:00 +01:00
Martin Fleisz 85984f3bd3
Merge pull request #5752 from akallabeth/manpage_no_err
Allow to generate docbook with 0 length.
2020-01-13 12:26:31 +01:00
Armin Novak c7337f4b6b Added data length check for RDP_CODEC_ID_NONE 2019-11-28 08:08:30 +01:00
Armin Novak f40e3ccfd0 Allow to generate docbook with 0 length. 2019-11-25 15:54:05 +01:00
Armin Novak c5e261e066 Added new command line swith for automatich assistance control. 2019-11-25 10:32:55 +01:00
Armin Novak 2691532061 Fixed const correctness of encomsp functions. 2019-11-25 09:39:21 +01:00
Armin Novak 92f3100e9d Fixed #5730: Decoupled floatbar button focus from click events. 2019-11-19 08:12:43 +01:00
Armin Novak 72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Armin Novak f01e042211 Code cleanups (strlen, casts, size_t, ...) 2019-10-29 11:58:43 +01:00
Armin Novak 7d7224abd8 Added missing check for monitor indices 2019-10-23 15:03:39 +02:00
asapelkin 82eadad4a4 Fix some static analizer warnings 2019-10-22 15:39:54 +02:00
kubistika dff3686642 channels: cliprdr: remove formatDataResp.dwFlags
According to the channel docs, this field is only used in format data
request. Therefore, there's no need to hold it in the response. cliprdr
server code was copy-pasted from client code, therefore this must be
some leftover.
2019-10-18 14:20:26 +02:00
Armin Novak f1f0b266ac Fixed floating point calculations. 2019-10-16 14:53:27 +02:00
Armin Novak 9fee4ae076 Fixed #5645: realloc return handling 2019-10-04 16:19:23 +02:00
Armin Novak 69dbd45d4e Fixed use after free. 2019-10-03 16:15:52 +02:00
Martin Fleisz 6b8b5bbb0e
Merge pull request #5614 from akallabeth/better_gateway_error
Better gateway error reporting
2019-09-24 16:28:17 +02:00
Armin Novak 41976885c6 Fix #5612: proper return values. 2019-09-24 09:45:35 +02:00
akallabeth 4679bb6b53 Fix ##5593: duplicated typedef. 2019-09-22 16:42:31 +02:00
volth 1edceffa31 avoid blurry filter when scaling factor is 2x, 3x, etc 2019-09-15 05:02:22 +00:00
Armin Novak d69ad3ee59 Fixed missing NULL check. 2019-09-03 08:56:59 +02:00
Armin Novak 843f18b110 Fix issue reported in #5560: language bar might not be supported by server. 2019-09-03 08:07:45 +02:00
David Fort 96aeb8512d keyboard: don't catch Ctrl+Alt-C if encomsp is not activated 2019-08-23 12:57:10 +02:00
rbarnett 8fee295733 Do not try to free a colormap that FreeRDP did not create. 2019-08-13 09:03:19 +02:00
kubistika 4503684736 client: xf_channels: remove unused settings variable 2019-08-02 20:10:56 +03:00
Armin Novak cbb9354641 Fix broken clipboard after file copy 2019-07-17 15:13:50 +02:00
Martin Fleisz ff036e0198
Merge pull request #5386 from akallabeth/rails_spec_update
Rails spec update
2019-05-09 12:49:55 +02:00
Armin Novak 2cc714a57d Updated RAILS implementation
* Implement new messages and callbacks
* Announce most recent channel features
* Added settings to configure flags to announce
2019-05-08 17:25:15 +02:00
akallabeth 9011ef1b75
Merge pull request #5387 from mfleisz/image_from_icon
core: Move image conversion of icon data into the library
2019-05-08 17:19:27 +02:00
Martin Fleisz 30c3b86655 core: Move image conversion for icon data into the library 2019-05-08 17:06:17 +02:00
Armin Novak d49adfcf59 Fixed warnings and cleaned up gfx related xfreerdp code. 2019-05-08 17:01:36 +02:00
Martin Fleisz 3e2be308eb
Merge pull request #5266 from akallabeth/file_list_synth
Added a proper synthesizer for FileGroupDescriptorW to text/uri-list
2019-05-08 15:05:05 +02:00
Armin Novak d7ca2db62e Fixed doulbe semicolon in C files. 2019-05-08 12:58:01 +02:00
Armin Novak 3d1cec894c Fixed alignment requirements for surface sizes. 2019-05-08 10:36:00 +02:00
Armin Novak 3b7e46fb0e Updated GFX to 10.6 spec 2019-05-07 12:10:13 +02:00
Martin Fleisz 25fc56a625
Merge pull request #5260 from akallabeth/rail_spec_update
Rail spec update
2019-04-29 11:27:26 +02:00
sgtatham 236c7918cb xf_cliprdr: detect null terminators more reliably. (#5353)
Clipboard formats containing plain text are specified to be terminated
by a \0 character in MS's documentation on standard clipboard formats:
https://docs.microsoft.com/en-us/windows/desktop/dataxchg/standard-clipboard-formats

xf_cliprdr_server_format_data_response receives pasted data from the
server to transfer to the client, in a sufficiently raw form that the
\0 terminator is still present, so it has to remove it. It does so by
checking only at the very end of the data. But I've observed that when
pasting out of at least one Windows program (namely Outlook 1903 on
Windows 10), the intended paste data arrives in this function followed
by \0 and then a spurious \n. In that situation the null-terminator
removal will fail to notice the \0, and will leave both bogus
characters on the end of the paste.

Fixed by using memchr to find the _first_ \0 in the paste data, which
should not lose any actually intentional data because it's in
accordance with the spec above.
2019-04-25 10:54:10 +02:00
Fabrice Fontaine 7dbb64cb62 xf_floatbar.c: fix build without Xfixes
Remove unneeded include on Xfixes.h as it is not always available and
not used in xf_floatbar.c

Fixes:
 - http://autobuild.buildroot.org/results/69245e574787bada718c52c805ec137041dc233d

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-04-18 23:56:16 +02:00
Armin Novak 05901280fe Fixed unused argument warnings. 2019-04-05 09:14:35 +02:00
Armin Novak c18b30af96 Fixed dead store warnings 2019-04-05 09:14:35 +02:00
Armin Novak e009a62f06 Fixed sign-compare warnings 2019-04-05 09:14:35 +02:00
DraganNSDK f002c7429b potential fix for ENTER (modifiers) stuck after CTRL-ALT-ENTER (toggle fullscreen), clearing the buffer in xk_keyboard_update_modifier_keys. (#5280)
* xk_keyboard_update_modifier_keys fixed to clear the buffer.

* removed the xf_keyboard_clear(xfc) fix comments
2019-02-25 12:44:51 +01:00
Armin Novak 32ea44c037 Added a proper synthesizer for FileGroupDescriptorW to text/uri-list
The file clipboard delegate needs a base URI to operate on for
systems that are not WIN32. Added that to the context and abort
conversion, if that is not set. (currently not fully implemented)
2019-02-21 16:44:40 +01:00
Armin Novak aacf5bddc4 Updated rail channel, supporting all new messages. 2019-02-19 15:04:11 +01:00
Armin Novak 81d7e62642 Fixed broken checks in X11 event (RAIL mode) 2019-02-08 10:46:26 +01:00
Armin Novak 2dab778101 Fixed NULL dereferences and uninitialized values 2019-01-30 16:11:10 +01:00
Armin Novak 087390b303 Refactored client clipboard function callbacks for const data pointers. 2019-01-23 16:55:13 +01:00
Martin Fleisz aa442de059
Merge pull request #5174 from chipitsine/master
resolve several issues found by cppcheck
2019-01-07 15:21:46 +01:00
Armin Novak 2dcc2614d4 Fixed X11 horizontal mouse wheel direction. 2019-01-07 10:01:46 +01:00
Ilya Shipitsin bdc039e719 resolve several issues found by cppcheck
[client/X11/xf_floatbar.c:800] -> [client/X11/xf_floatbar.c:796]: (warning) Either the condition '!floatbar' is redundant or there is possible null pointer dereference: floatbar.
[client/X11/xf_floatbar.c:800] -> [client/X11/xf_floatbar.c:797]: (warning) Either the condition '!floatbar' is redundant or there is possible null pointer dereference: floatbar.
[client/X11/xf_floatbar.c:800] -> [client/X11/xf_floatbar.c:798]: (warning) Either the condition '!floatbar' is redundant or there is possible null pointer dereference: floatbar.
[libfreerdp/codec/dsp.c:1156] -> [libfreerdp/codec/dsp.c:1154]: (warning) Either the condition '!srcFormat' is redundant or there is possible null pointer dereference: srcFormat.
[channels/drdynvc/client/drdynvc_main.c:1453] -> [channels/drdynvc/client/drdynvc_main.c:1450]: (warning) Either the condition '!drdynvc' is redundant or there is possible null pointer dereference: drdynvc.
[channels/audin/client/opensles/audin_opensl_es.c:98] -> [channels/audin/client/opensles/audin_opensl_es.c:94]: (warning) Either the condition '!opensles' is redundant or there is possible null pointer dereference: opensles.
[channels/audin/client/opensles/audin_opensl_es.c:159] -> [channels/audin/client/opensles/audin_opensl_es.c:153]: (warning) Either the condition '!opensles' is redundant or there is possible null pointer dereference: opensles.
2019-01-02 20:35:24 +05:00
Bernhard Miklautz 6f6c8473a1
Merge pull request #5126 from akallabeth/x11_button_mapping
X11 extended button remapping support.
2018-12-11 08:53:39 +00:00
Armin Novak 0fa9f06565 Modified flag checks to avoid invalid flag sets. 2018-12-11 09:34:07 +01:00
Armin Novak 2ce04069cb Fixed crashes in rail mode after merge of floatbar fixes. 2018-12-10 15:41:20 +01:00
Armin Novak 7102927548 X11 extended button remapping support.
Up until now X11 mouse button remapping was only possible for the
default buttons 1 to 3.
With this pull any X11 mouse button can be mapped to any RDP mouse
event and all X11 remappings are respected.
2018-12-10 15:03:29 +01:00
Martin Fleisz b82c4f779a
Merge pull request #5020 from akallabeth/floatbar_fixes
Floatbar fixes and windows support
2018-12-10 14:45:10 +01:00
Armin Novak 0d3192b9f7 Fixed rail window key hash function to work with UINT32 2018-12-10 11:16:43 +01:00
akallabeth 2927114e7b
Merge pull request #5117 from hardening/rail_hash
rails: allow a window with id == 0
2018-12-10 10:26:52 +01:00
David Fort 88e361fa00 rails: allow a window with id == 0 2018-12-08 00:32:00 +01:00
Armin Novak 594d10620e Fixed #5040: Unified xfreerdp window title setting. 2018-12-07 15:22:28 +01:00
Armin Novak 5343f6931d Fixed monitor width and height checks. 2018-12-07 15:22:28 +01:00
Armin Novak 56156d217e Floatbar self contained. 2018-12-07 15:22:28 +01:00
Bernhard Miklautz 6c88c21736
Merge pull request #5099 from akallabeth/floatbar_close_window
Fixed #5098: Abort connection and let the application clean up resour…
2018-12-07 13:03:46 +00:00
Martin Fleisz d0688f058b
Merge pull request #5102 from akallabeth/rail_cleanups
Cleaned up xf_rail_server_handshake
2018-12-07 11:28:22 +01:00
Martin Fleisz 8c7f8eb395
Merge pull request #5085 from akallabeth/cert_callbacks_update
Refactored Certificate callbacks (but keep compatible)
2018-12-06 10:08:17 +01:00
Armin Novak f5e449a4f8 Cleaned up xf_rail_server_handshake 2018-12-05 09:13:04 +01:00
David Fort 46ffa611cc
Merge pull request #5097 from hualet/master
Fixed RAIL window can't show again once hidden
2018-12-04 22:42:25 +01:00
Armin Novak 0c13c3199e Follow up to #4959: Lock gdi_UpdateSurfaces like xf_UpdateSurfaces 2018-12-04 16:56:22 +01:00
Armin Novak d260d4e29e Fixed #5098: Abort connection and let the application clean up resources before exit. 2018-12-04 16:42:28 +01:00
Hualet Wang e33efccf48 Fixed RAIL window can't show again once hidden
The cause is very simple: we didn't map the xwindow on receiving
WINDOW_SHOW. but doing that causes another problem that you can't
hide a window anymore, and that is because whlie window hiding, the
_NET_WM_STATE and WM_STATE properies of the xwindow may change, in
the function `xf_event_PropertyNotify` we just assume that windows
not maximized, not minimized, yet not showing normally should be
corrected to be shown, we just need to consider the situation that
the window is hidden here.

fix: #5078
2018-12-04 20:37:37 +08:00
Armin Novak e04c319d21 Added new default certificate callbacks with extended information.
The extended information provided by VerifyCertificateEx and
VerifyChangedCertificateEx is now exploited by the new functions
client_cli_verify_certificate_ex and client_cli_verify_changed_certificate_ex.

The old callbacks now print out deprecation warnings to inform the
user and developer about this deprecation.
2018-12-04 09:35:24 +01:00
Armin Novak 2e019b2fd1 Implemented GFX locking and enforce return value checks.
To fix #4825 GFX functions must now aquire a lock before accessing surfaces.
This prevents simultaneous update of internal data by client and gfx threads.
Also enforce return value checks, where not already done.
2018-11-29 11:55:27 +01:00
Armin Novak 7d89ea22d4 Unified initialization of OrderSupport
Added a library internal function freerdp_settings_set_default_order_support
which initializes the OrderSupport array of settings.
Now clients no longer need to set this up on their own, if they
do not implement their own hardware accelerated order processing.
2018-11-23 10:11:50 +01:00
Armin Novak a471fc5939 Spelling fix in log message.
Integrate spelling fix from debian patch from
Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
2018-11-22 12:06:30 +01:00
Bernhard Miklautz ef0c7e81a7
Merge pull request #4953 from akallabeth/region_signed
signed gdi regions to adjust negative coordinates
2018-11-20 10:07:30 +00:00
Armin Novak 666ef4ab34 Fix #4864: Register pointer cache after PostConnect is called
With #4950 client side pointer implementation was made optional.
This addresses an issue that each client had to call
pointer_cache_register_callbacks on its own.
2018-11-20 09:49:39 +01:00
akallabeth b6eca4fc54 signed gdi regions to adjust negative coordinates 2018-11-19 12:52:43 +01:00
ileGITimo d5dd983bcd call xf_SetWindowTitle before XMapWindow, so window manager can act on window name 2018-11-17 06:32:52 -08:00
David Fort e118d14f6a cmdline: add window-position argument to set initial window position
This is useful if you want the window to be at a given position. The patch also mutualizes
the parsing of <xpos>x<ypos> or <width>x<height> arguments.
2018-11-15 14:40:03 +01:00
Armin Novak 43e17c9755 Fixed color conversion, log level and buffer types 2018-11-14 11:57:57 +01:00
ilammy 9292b2231f xfreerdp: set _NET_WM_ICON to RAIL app icon
Icons on X11 windows are configured using the _NET_WM_ICON property
described in Extended Window Manager Hints. Here we implement converison
from DIB bitmaps used by RAIL to the format expected by _NET_WM_ICON,
and actually set the icon for RAIL app windows.

Both DIB format and _NET_WM_ICON (or rather, Xlib) are weird. Let's
start with RAIL's format. That's the one used in BMP and ICO formats
on Windows. It has some strange properties but thankfully FreeRDP's
freerdp_image_copy() can handle most of them for us. (With an exception
of monochrome and 16-color formats that it does not support. Sorry, but
I'm too lazy to fix them. They are not seem to be used by any real
application either.) The one thing that it can't do is to apply the
alpha transparency bitmask so we have to do it manually. This instantly
reminds us that DIB format has HISTORY: it's vertically flipped and
each must be padded to 4 bytes. Both these quirks having reasonable
(for a certain definition of 'reason') explanations. Such is life.
(Also, 8-bit images require a color palette which we must fill in.)

So okay, now comes _NET_WM_ICON. It is more sane (or rather, easier to
deal with). The bitmap is represented with a tiny [width, height] header
followed by an array of pixels in ARGB format. There is no padding, no
weird color formats. But here's a catch: you can't simply take the
output of freerdp_image_copy() and cast to (unsigned char*) of colors.
We have to allocate an array of C's longs and copy the pixels there,
because that's what Xlib expects (and this is mentioned in the spec).
Simply casting an array of bytes causes crashes on 64-bit systems.
So don't try to cheat or "optimize" and read the docs, kids.

Note that XFlush() call after XChangeProperty(). It's there because it
seems to helps see the icon quicker with Unity on Ubuntu 14.04. I don't
know why. (And Unity does not support _NET_WM_ICON officially. But it
sorta kinda works sometimes.)

Oh, and while we're here, delete some old, unused, and commented out
code that was setting window icons in the past. It's not needed anymore.
2018-11-14 10:53:45 +01:00
ilammy 8163b6d1ce xfreerdp: add RAIL icon cache
This commit adds a cache for RAIL application icons. It is (surpisingly)
used to cache icons for remote applications. This mechanism is described
in MS-RDPERP 3.1.1.2 Icon Cache Support and related items.

Note that some (actually, most) of the icons are not cached. These are
marked with CacheId == 0xFF. In order to keep the code clean we do not
introduce a special case and instead use a 'scratch' icon and simply
pretend to return an xfRailIcon from cache.

We're going to set icons via _NET_WM_ICON property which explains
why we use "long" values to store pixel data. The icon conversion
is not implemented in this commit, it's only stubs.

However, we do implement processing of window information orders that
contain new icons or cached references to previously sent icons. Note
that it is important to not fail (i.e., to not return FALSE) if we
cannot find a window for the icon by its ID. The server occasionally
likes to be slow or something and send icon updates for nonexistent
windows. This behavior is mandated by the spec, too:

    MS-RDPERP 3.2.5.1.6 Processing Window Information Orders

    Upon receipt of a Window Information Order for an icon or
    cached icon, as specified in sections 2.2.1.3.1.2.2 and
    2.2.1.3.1.2.3, the client SHOULD locate the local RAIL window
    that corresponds to the WindowId reported in the Hdr field
    and apply the icon updates to the RAIL window. If no such
    window can be found, the client SHOULD ignore the order.

Indeed, we silently ignore such orders now.
2018-11-14 10:53:45 +01:00
Armin Novak 9633e4576d Fixed signedness of MoniorCount 2018-10-25 14:08:20 +02:00
Armin Novak 02f68c35b9 Fixed -Wextra sign warnings 2018-10-24 13:25:31 +02:00
Bernhard Miklautz 0e9b26c1d2
Merge pull request #4796 from akallabeth/groegera_fixes
Update X11-modifier key state on focus_in
2018-10-22 12:50:21 +00:00
Bernhard Miklautz 9b353202a5 fix [x11]: compiler warnings in floatbar
client/X11/xf_floatbar.c:530:27: warning: use of logical '&&' with constant
      operand [-Wconstant-logical-operand]
        if (event->xmotion.state && Button1Mask && mode > XF_FLOATBAR_MODE_DRAGGING)
                                 ^  ~~~~~~~~~~~
client/X11/xf_floatbar.c:534:32: warning: use of logical '&&' with constant
      operand [-Wconstant-logical-operand]
        else if (event->xmotion.state && Button1Mask && mode == XF_FLOATBAR_MODE_DRAGGING)
                                      ^  ~~~~~~~~~~~
clang 8.0.0-svn344413-1~exp1+0~20181012203207.819~1.gbpc91f27
2018-10-19 11:33:28 +02:00
Markus Mattes a235b44f61 added missing check for remote app where no floatbar exists 2018-10-18 15:33:01 +02:00
akallabeth 305f5d1bd5
Merge pull request #4600 from andreesteve/xfullscreen
X11: Fix fullscreen toggle
2018-10-17 17:27:29 +02:00
Martin Fleisz e46d1d95ff
Merge pull request #4926 from akallabeth/primary_order_checks
Order data validation and correction
2018-10-17 16:02:28 +02:00
akallabeth 5778bf102b
Merge pull request #4891 from akallabeth/rail_fixes
Rail fixes #4846 and a crash
2018-10-17 11:32:56 +02:00
Armin Novak 10cc319973 Announce glyph orders if glyph cache is activated. 2018-10-17 10:47:23 +02:00
Armin Novak ca3fb26230 Deactivated unimplemented orders. 2018-10-15 15:22:50 +02:00
Armin Novak f88ed950d3 Fixed various issues with primary orders. 2018-10-15 14:30:58 +02:00
Armin Novak a8a6accc15 Fixed compiler warnings. 2018-10-03 15:16:59 +02:00
David Fort 2e1bf90bd9
Merge pull request #4885 from akallabeth/autoreconnect_handle_window_events
Fixed #3423: Process xevents when in reconnect mode.
2018-10-03 09:42:16 +02:00
Armin Novak 00489ae75b Reworked checks in xf_disp.c 2018-10-02 12:33:52 +02:00
Armin Novak f332779982 Fixed floatbar X11 leak. 2018-10-01 10:50:47 +02:00
Armin Novak 046d2296a0 Fixed floatbar X11 leak. 2018-10-01 10:49:30 +02:00
Armin Novak a5b689b35d Readded override redirect but reset on focus loss. 2018-09-26 12:38:16 +02:00
Armin Novak 316eed1fbf Menus are no longer popup windows but dropdown menus. 2018-09-26 12:38:16 +02:00
Armin Novak fa7902c362 Fixed argument check for floatbar events. 2018-09-26 10:14:51 +02:00
David Fort d0612151f9
Merge pull request #4874 from r-barnett/fix-MonitorLocalShift
MonitorLocalShiftX,Y should be set when 1st monitor from MonitorIds s…
2018-09-26 10:02:49 +02:00
Martin Fleisz a90b74b8dc
Merge pull request #4879 from akallabeth/clip_fix
Fixes for clipboard #4876
2018-09-26 09:37:41 +02:00
akallabeth 0b8a66188c
Merge pull request #4865 from mmattes/feature/floatbar
Feature/floatbar for X11
2018-09-25 16:34:20 +02:00
Armin Novak 8357f61818 Fixed load/unload for display channel. 2018-09-24 16:44:25 +02:00
Armin Novak 51f97f2d3e Fixed #3423: Process xevents when in reconnect mode.
Fixed crashes due to unloaded disp channel in reconnect mode.
2018-09-24 16:24:32 +02:00
Armin Novak 13478c7445 Skip empty server format response. 2018-09-24 12:47:46 +02:00
Armin Novak 897c0c72a7 Unified auto_reconnect functions for all clients. 2018-09-24 10:31:43 +02:00
rbarnett 41664572a5 MonitorLocalShiftX,Y should be set when 1st monitor from MonitorIds selected as primary 2018-09-21 13:40:48 -05:00
akallabeth 30601608e4
Merge pull request #4855 from r-barnett/fix-logoff-exit-code
Map a particular disconnect situation triggered by a user logging off…
2018-09-20 12:07:36 +02:00
rbarnett 5d3e76bd80 Replace cryptic names; move the disconnect ultimatum reasons enum into public API and rename; remove setter 2018-09-19 09:36:39 -05:00
rbarnett 8458266183 Store the disconnect provider ulimatum reason in a new field in struct rdp_context and move the test for a logoff reason to xf_client.c 2018-09-18 15:31:10 -05:00
Markus Mattes 36fc5dde21 fix hidden floatbar consumes a lot of cpu 2018-09-18 21:46:02 +02:00
Markus Mattes 21e4804a7f implemented floatbar for x11 2018-09-18 21:25:51 +02:00
Martin Fleisz 0b7b9c0dc4
Merge pull request #4842 from akallabeth/smartcard_rdp_logon
Added /smartcard-logon option to set flag. (Stripped version of #4837…
2018-09-17 09:08:47 +02:00
Martin Fleisz 3c158299a3
Merge pull request #4853 from r-barnett/add-nego-fail-exit-code
Add an exit code for a security protocol negotiation failure
2018-09-14 10:59:31 +02:00
Armin Novak 97c909107f Fixed const correctness for RAIL callbacks. 2018-09-14 10:07:22 +02:00
rbarnett 1e7be9908b Add an exit code for a security protocol negotiation failure 2018-09-13 10:29:23 -05:00
rbarnett 4e97edadec Set an error exit code for an unsuccessful reconnect 2018-09-12 10:16:27 -05:00
Armin Novak 0de43c8b85 Added /smartcard-logon option to set flag. (Stripped version of #4837 by @informatimago) 2018-09-04 15:50:03 +02:00
Armin Novak 54f3a388da Fixed #4835: BeginPaint callback now optional. 2018-09-04 10:40:17 +02:00
Armin Novak 62c1696d4c Removed use of unchecked sprintf 2018-08-27 14:34:42 +02:00
Armin Novak 114abad767 Removed use of strcpy. 2018-08-27 14:34:09 +02:00
Armin Novak 48125164d7 Fixed dead initialization. 2018-08-24 13:40:36 +02:00
Martin Fleisz f9e52c1850
Merge pull request #4815 from akallabeth/async_transport_remove
Removed +async-transport options
2018-08-24 09:48:51 +02:00
Martin Fleisz ebef5a5e2e
Merge pull request #4811 from akallabeth/dyn_fullscreen_fix
Fixed single monitor fullscreen resolution update.
2018-08-23 16:58:22 +02:00
Armin Novak c3a26b0d6a Removed +async-transport options
The async transport option is broken by design.
If used the main loop is called from the transport thread and the
main thread of the application.
Unless the transport layer is refactored to just work on queues
(input and output) this option will never work, therefore remove it.
2018-08-22 13:56:37 +02:00
Ondrej Holy e7d5aae514 client/x11: Silence false positive warnings from covscan
Add code annotation to silence false positive warnings from covscan
due to omitting termination \0.

buffer_size: Calling strncpy with a source string whose length (13 chars) is greater than or equal to the size argument (13) will fail to null-terminate "&tmp[cs]".
2018-08-22 13:35:43 +02:00
Ondrej Holy baeb29a7e0 client/x11: Fix leak found by covscan
leaked_storage: Variable "actionScript" going out of scope leaks the storage it points to.
2018-08-22 13:35:43 +02:00
Ondrej Holy dde4c38382 client/x11: Format code by astyle
Run ./scripts/format_code.sh before the following changes.
2018-08-22 13:35:43 +02:00
Armin Novak 02dc6ab3f7 Fixed single monitor fullscreen resolution update. 2018-08-21 13:00:39 +02:00
Andreas Gröger 525d089fa8 Update X11-modifier key state on focus_in 2018-08-13 14:45:05 +02:00
Armin Novak a334aa9657 Fixed #4786: Added fullscreen handling for dynamic resolution. 2018-08-08 13:04:26 +02:00
akallabeth 88474af925
Merge pull request #4762 from mmattes/issue/4757
Fix for #4757
2018-07-30 13:31:32 +02:00
Martin Fleisz 143a2b149a
Merge pull request #4755 from akallabeth/dyn_resize_fix
Fixed #4679, #4753 dynamic resizing
2018-07-30 12:28:38 +02:00
Markus Mattes e6209748fa Removed double ifdef WITH_XI, XInput2.h already included 2018-07-24 14:03:45 +02:00
Markus Mattes bad8bbadf4 Fix for #4757 2018-07-22 20:00:25 +02:00
Armin Novak 328eba7fe9 Fix #4752: Provide message free function for channel queue. 2018-07-18 15:31:07 +02:00
Armin Novak 4e4ec0b035 Fix #4752: Unsubscirbe all PubSub in dynamic channel. 2018-07-18 14:29:22 +02:00
Armin Novak ced4d06f74 Fixed #4679, #4753 dynamic resizing
Simplified resize logic, do not check before setting current resolution.
2018-07-18 09:48:19 +02:00
Martin Fleisz 187cf000bc
Merge pull request #4706 from khvMX/master
X11: fixed Right-Ctrl ungrab feature (PR #3622)
2018-07-03 12:45:15 +02:00
Armin Novak 273655a850 Follow up fix for #4631
Remember the callback state to avoid calling reerdp_channels_post_connect
before the corresponding client callback has benn called.
This might happen during redirection and reconnection.
2018-06-18 10:44:35 +02:00
Viktor Mukha 16cde2ee28 X11: fixed Right-Ctrl ungrab feature (PR #3622) 2018-06-08 11:35:02 +02:00
Andre Esteve ab0bc2a7f5 X11: Fix fullscreen toggle
1. Fix fullscreen toggle for window managers that do not have multimonitor fullscreen extension support
2. Fix current monitor detection
3. Fix calculation of vscreen boundaries when single monitor is being used
4. Fix start up position of window when starting (used to always go to the top left corener, now centered)

Still a problem:

1. Window decorations do not show when going windowed
2. Smart resizing makes i3 really sad :(
3. Moving window across monitors and going fullscreen always maximizes on startup screen (when not using /multimon)
2018-05-05 18:24:23 -07:00
Armin Novak 3a54713103 Fixed invalid argument parameter 2018-05-02 13:08:30 +02:00
Armin Novak a1c3c1ad64 Added proper return value checks for clipboard data. 2018-05-02 09:21:42 +02:00
Armin Novak 5628ed5e7d Check for window existence in remote app mode before access
X11 is asynchronous, so events arriving in xf_event_PropertyNotify
may access a window that has already been discarded. Check that before
reading properties.
2018-04-12 14:39:37 +02:00
Bernhard Miklautz c0afb8bd6b
Merge pull request #4322 from akallabeth/rail_fixes
Rail fixes for GFX mode
2018-04-11 10:49:44 +02:00
Armin Novak c70bf8329f Fixed XPixmap checks. 2018-04-04 10:46:14 +02:00
Armin Novak 065a924496 Fixed format string types. 2018-04-04 10:45:57 +02:00
akallabeth b37a98182d
Merge pull request #4457 from RangeeGmbH/fix_custom_sizes
Fix /size: /w: /h: with /monitors: (Fix custom sizes)
2018-04-04 10:35:47 +02:00
Armin Novak d249335708 Removed winpr_exit
As the cleanup functions are called by atexit a dedicated
cleanup call is no longer required.
2018-04-03 12:56:33 +02:00
Kai Harms 222bf9245e Fix /size: /w: /h: with /monitor: (Fix custom sizes)
Fix weird rectangle by removing checks
2018-03-29 07:12:53 +00:00
Ilya Shipitsin 14c15c680d resolve several possible null pointer dereference
issue detected by cppcheck

[channels/drive/client/drive_main.c:454] -> [channels/drive/client/drive_main.c:443]: (warning) Either the condition '!irp' is redundant or there is possible null pointer dereference: irp.
[client/X11/xf_window.c:582] -> [client/X11/xf_window.c:580]: (warning) Either the condition '!xfc' is redundant or there is possible null pointer dereference: xfc.
[winpr/libwinpr/path/test/TestPathShell.c:40] -> [winpr/libwinpr/path/test/TestPathShell.c:43]: (warning) Either the condition '!path' is redundant or there is possible null pointer dereference: path.
[winpr/libwinpr/path/test/TestPathShell.c:49] -> [winpr/libwinpr/path/test/TestPathShell.c:52]: (warning) Either the condition '!path' is redundant or there is possible null pointer dereference: path.
2018-03-24 17:46:39 +05:00
David Fort 103686eb12
Merge pull request #4497 from akallabeth/kwin_multimon
Fix #2707: Set fullscreen first
2018-03-19 19:12:02 +01:00
Armin Novak 338e74a6fb Fix #2707: Set fullscreen first
Due to kwin bug https://bugs.kde.org/show_bug.cgi?id=391960
multimonitor fullscreen is not applied correctly with the
previous approach.
2018-03-19 11:54:06 +01:00
Armin Novak 87ebdf0052 Fixed #4493: duplicate typedef. 2018-03-17 15:25:41 +01:00
Armin Novak 9bd13c25c9 Added WaitableTimer implementation for mac OS. 2018-03-12 13:39:21 +01:00
Armin Novak 44eebbb6e0 Fixed compiler warnings. 2018-03-07 14:47:06 +01:00
Armin Novak 2517755d25 Fixed thread function return and parameters. 2018-03-07 14:36:55 +01:00