]> source.dussan.org Git - tigervnc.git/log
tigervnc.git
9 years agoFixed IPv6 support.
Tim Waugh [Wed, 11 Mar 2015 13:12:07 +0000 (13:12 +0000)]
Fixed IPv6 support.

The TcpListener constructor now takes a 'struct sockaddr*' instead of
a string, and the createTcpListeners function creates TcpListener
instances for an address based on the results from getaddrinfo().

The XserverDesktop class now takes a list of TcpListener instances for
each of the RFB and HTTP sockets.

The TcpListener::closeFd member variable is not used and has been
removed.

9 years agoWhitespace changes only.
Tim Waugh [Wed, 11 Mar 2015 13:07:48 +0000 (13:07 +0000)]
Whitespace changes only.

9 years agoMerge branch 'mac_menu' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Wed, 4 Mar 2015 09:25:49 +0000 (10:25 +0100)]
Merge branch 'mac_menu' of https://github.com/CendioOssman/tigervnc

9 years agoAdd a OS X system menu so that new viewer windows can be started 144/head
Pierre Ossman [Wed, 4 Mar 2015 08:57:06 +0000 (09:57 +0100)]
Add a OS X system menu so that new viewer windows can be started

9 years agoHide OS X specific callback when not needed
Pierre Ossman [Wed, 4 Mar 2015 08:54:27 +0000 (09:54 +0100)]
Hide OS X specific callback when not needed

9 years agoFix bad long line detection logic in config file parser
Pierre Ossman [Wed, 4 Mar 2015 08:53:16 +0000 (09:53 +0100)]
Fix bad long line detection logic in config file parser

9 years agoChange type to fix bad signed/unsigned comparison
Pierre Ossman [Wed, 4 Mar 2015 08:52:48 +0000 (09:52 +0100)]
Change type to fix bad signed/unsigned comparison

9 years agoMerge branch 'warnings' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Tue, 3 Mar 2015 15:59:51 +0000 (16:59 +0100)]
Merge branch 'warnings' of https://github.com/CendioOssman/tigervnc

9 years agoMake warnings into errors when doing debug builds 143/head
Pierre Ossman [Tue, 3 Mar 2015 15:50:47 +0000 (16:50 +0100)]
Make warnings into errors when doing debug builds

Assume debug builds means it's a developer working on TigerVNC
rather than a user just compiling it. At that point we should not
accept any new warnings in the code.

9 years agoMake sure defaultServerName is initialised even on errors
Pierre Ossman [Tue, 3 Mar 2015 15:50:15 +0000 (16:50 +0100)]
Make sure defaultServerName is initialised even on errors

9 years agoMove about text constant so the compiler can analyse it
Pierre Ossman [Tue, 3 Mar 2015 15:49:50 +0000 (16:49 +0100)]
Move about text constant so the compiler can analyse it

9 years agoFix unsafe format strings to the logging functions
Pierre Ossman [Tue, 3 Mar 2015 15:48:58 +0000 (16:48 +0100)]
Fix unsafe format strings to the logging functions

9 years agoDon't shove a pointer into a 32-bit variable
Pierre Ossman [Tue, 3 Mar 2015 15:48:36 +0000 (16:48 +0100)]
Don't shove a pointer into a 32-bit variable

9 years agoFix bad initialiser lists
Pierre Ossman [Tue, 3 Mar 2015 15:48:01 +0000 (16:48 +0100)]
Fix bad initialiser lists

9 years agoCompiler doesn't like us not checking return values here
Pierre Ossman [Tue, 3 Mar 2015 15:47:24 +0000 (16:47 +0100)]
Compiler doesn't like us not checking return values here

9 years agoCompiler doesn't like referencing unset variables
Pierre Ossman [Tue, 3 Mar 2015 15:47:01 +0000 (16:47 +0100)]
Compiler doesn't like referencing unset variables

9 years agoLPARAM and WPARAM have different types on Win32 and Win64
Pierre Ossman [Tue, 3 Mar 2015 15:46:19 +0000 (16:46 +0100)]
LPARAM and WPARAM have different types on Win32 and Win64

Solve it by casting to the larger of the two, i.e. 64-bit.

9 years agoWIN64 should come from the compiler or SDK, not us
Pierre Ossman [Tue, 3 Mar 2015 15:45:55 +0000 (16:45 +0100)]
WIN64 should come from the compiler or SDK, not us

9 years agoHandler still needs to return something even with XDamage
Pierre Ossman [Tue, 3 Mar 2015 15:45:18 +0000 (16:45 +0100)]
Handler still needs to return something even with XDamage

9 years agoNo need to force modifiable strings here
Pierre Ossman [Tue, 3 Mar 2015 15:45:02 +0000 (16:45 +0100)]
No need to force modifiable strings here

9 years agoPointer truncation/expansion needs to be very explicit
Pierre Ossman [Tue, 3 Mar 2015 15:44:30 +0000 (16:44 +0100)]
Pointer truncation/expansion needs to be very explicit

9 years agoWrong array index in CPU usage calculation on Windows
Pierre Ossman [Tue, 3 Mar 2015 15:43:20 +0000 (16:43 +0100)]
Wrong array index in CPU usage calculation on Windows

9 years agoWindows doesn't have %lld
Pierre Ossman [Tue, 3 Mar 2015 15:43:05 +0000 (16:43 +0100)]
Windows doesn't have %lld

9 years agooverrun() needs to return the available space
Pierre Ossman [Tue, 3 Mar 2015 15:42:45 +0000 (16:42 +0100)]
overrun() needs to return the available space

9 years agoMove things around slightly so the compiler can track cc
Pierre Ossman [Tue, 3 Mar 2015 15:42:15 +0000 (16:42 +0100)]
Move things around slightly so the compiler can track cc

9 years agoGive CharArray a printf style method to ease automatic allocation
Pierre Ossman [Tue, 3 Mar 2015 15:41:29 +0000 (16:41 +0100)]
Give CharArray a printf style method to ease automatic allocation

9 years agoThe PAM callback is slightly different on Solaris
Pierre Ossman [Tue, 3 Mar 2015 15:40:36 +0000 (16:40 +0100)]
The PAM callback is slightly different on Solaris

9 years agoAdd extra parentheses to avoid and/or priority ambiguity
Pierre Ossman [Tue, 3 Mar 2015 15:39:37 +0000 (16:39 +0100)]
Add extra parentheses to avoid and/or priority ambiguity

9 years agoReorder class initialiser list to match what actually happens
Pierre Ossman [Tue, 3 Mar 2015 15:37:43 +0000 (16:37 +0100)]
Reorder class initialiser list to match what actually happens

9 years agoMake Rect::area() signed, just like Rect::width()/height()
Pierre Ossman [Tue, 3 Mar 2015 15:35:28 +0000 (16:35 +0100)]
Make Rect::area() signed, just like Rect::width()/height()

Makes it more sane what type to use when interacting with this class.

9 years agoFix mismatches between format string and arguments
Pierre Ossman [Tue, 3 Mar 2015 15:34:56 +0000 (16:34 +0100)]
Fix mismatches between format string and arguments

9 years agoShorten stats from EncodeManager using SI/IEC prefixes
Pierre Ossman [Tue, 3 Mar 2015 15:30:13 +0000 (16:30 +0100)]
Shorten stats from EncodeManager using SI/IEC prefixes

Also avoids %lld which isn't supported on Windows.

9 years agoA switch() needs to handle every value in an enum
Pierre Ossman [Tue, 3 Mar 2015 15:28:54 +0000 (16:28 +0100)]
A switch() needs to handle every value in an enum

9 years agoSwitch to unsigned parameters for ExtendedDesktopSize handler
Pierre Ossman [Tue, 3 Mar 2015 15:27:44 +0000 (16:27 +0100)]
Switch to unsigned parameters for ExtendedDesktopSize handler

The constants used here are unsigned so it makes more sense that
the parameters are as well.

9 years agoFix bad signed/unsigned comparisons
Pierre Ossman [Tue, 3 Mar 2015 15:26:03 +0000 (16:26 +0100)]
Fix bad signed/unsigned comparisons

Either by casting, or switching to a more appropriate type
for the variable.

9 years agoMake sure Exceptions do not use unsafe format strings
Pierre Ossman [Tue, 3 Mar 2015 15:17:51 +0000 (16:17 +0100)]
Make sure Exceptions do not use unsafe format strings

9 years agoTag the Exception constructor as a printf function
Pierre Ossman [Tue, 3 Mar 2015 15:11:26 +0000 (16:11 +0100)]
Tag the Exception constructor as a printf function

This allows the compiler to analyse the format strings and
arguments for correctness.

9 years agoRemove unused variables
Pierre Ossman [Tue, 3 Mar 2015 15:10:53 +0000 (16:10 +0100)]
Remove unused variables

9 years agoHandle no useful address types from getaddrinfo()
Pierre Ossman [Tue, 3 Mar 2015 15:03:32 +0000 (16:03 +0100)]
Handle no useful address types from getaddrinfo()

9 years agoThe compiler cannot figure out if this is assigned properly
Pierre Ossman [Tue, 3 Mar 2015 15:02:42 +0000 (16:02 +0100)]
The compiler cannot figure out if this is assigned properly

The logic is a bit complex so we're going to have to silence the
warning with this explicit assignment.

9 years agoTurn on more warnings to catch potential bugs
Pierre Ossman [Tue, 3 Mar 2015 15:02:03 +0000 (16:02 +0100)]
Turn on more warnings to catch potential bugs

9 years agoDecode serverCutText to ISO-8859-1
Brian P. Hinz [Tue, 3 Mar 2015 01:03:42 +0000 (20:03 -0500)]
Decode serverCutText to ISO-8859-1

Java viewer was incorrectly attempting to decode incoming clipboard updates to UTF-8 instead of Latin-1.

9 years agoMerge pull request #142 from bphinz/master
Brian Hinz [Mon, 2 Mar 2015 03:02:04 +0000 (22:02 -0500)]
Merge pull request #142 from bphinz/master

Updates to package builds

9 years agoBuild local static libpng on el5 142/head
Brian P. Hinz [Mon, 2 Mar 2015 02:55:43 +0000 (21:55 -0500)]
Build local static libpng on el5

The system libpng is too old for fltk 1.3.3, resulting in undefined reference errors when trying to link vncviewer.

9 years agoRemove obsolete distro patches
Brian P. Hinz [Mon, 2 Mar 2015 02:54:42 +0000 (21:54 -0500)]
Remove obsolete distro patches

Commit f0fffd4d7f0907e91dfcee02cd7fbe4f4cbe2342 makes ldnow patch unnecessary.
Commit 0dc36a501ee5e69ce1a201935a4a4a903d06cbe1 makes format-security patch unnecessary.

9 years agoUse autotools to build fltk-1.3.3 on el5 instead of cmake
Brian P. Hinz [Mon, 2 Mar 2015 02:52:39 +0000 (21:52 -0500)]
Use autotools to build fltk-1.3.3 on el5 instead of cmake

Static libraries are too hard to get linked correctly with cmake.

9 years agoBump version of fltk to 1.3.3 for el5, el6, & ubuntu packages
Brian P. Hinz [Mon, 2 Mar 2015 02:51:49 +0000 (21:51 -0500)]
Bump version of fltk to 1.3.3 for el5, el6, & ubuntu packages

9 years agoMerge pull request #141 from bphinz/java
Brian Hinz [Sun, 1 Mar 2015 19:41:15 +0000 (14:41 -0500)]
Merge pull request #141 from bphinz/java

Don't violate RFB spec by sending UTF-8

9 years agoDon't violate RFB spec by sending UTF-8 141/head
Brian P. Hinz [Sun, 1 Mar 2015 19:40:03 +0000 (14:40 -0500)]
Don't violate RFB spec by sending UTF-8

Java viewer was violating the RFB specification by sending UTF-8 encoded clipboard text rather than ISO-8859-1.

9 years agoMerge branch 'perf' of https://github.com/dcommander/tigervnc
Pierre Ossman [Fri, 27 Feb 2015 08:28:06 +0000 (09:28 +0100)]
Merge branch 'perf' of https://github.com/dcommander/tigervnc

9 years agoMerge branches 'format-security' and 'module-ldnow-master' of https://github.com...
Pierre Ossman [Fri, 27 Feb 2015 08:26:26 +0000 (09:26 +0100)]
Merge branches 'format-security' and 'module-ldnow-master' of https://github.com/twaugh/tigervnc

9 years agoencperf, decperf: catch fopen() errors 139/head
DRC [Thu, 26 Feb 2015 18:24:03 +0000 (12:24 -0600)]
encperf, decperf: catch fopen() errors
This prevents unhandled exceptions if the file isn't found.

9 years agoLink libvnc.so with '-z now' to make symbol resolution failures obvious. 138/head
Tim Waugh [Tue, 24 Feb 2015 15:59:03 +0000 (15:59 +0000)]
Link libvnc.so with '-z now' to make symbol resolution failures obvious.

9 years agoMerge branch 'cmdline-crash' of https://github.com/twaugh/tigervnc
Pierre Ossman [Thu, 26 Feb 2015 13:18:49 +0000 (14:18 +0100)]
Merge branch 'cmdline-crash' of https://github.com/twaugh/tigervnc

9 years agoMerge branch 'xserver117-master' of https://github.com/twaugh/tigervnc
Pierre Ossman [Thu, 26 Feb 2015 13:14:21 +0000 (14:14 +0100)]
Merge branch 'xserver117-master' of https://github.com/twaugh/tigervnc

9 years agoMerge branch 'perf' of https://github.com/dcommander/tigervnc
Pierre Ossman [Thu, 26 Feb 2015 11:53:37 +0000 (12:53 +0100)]
Merge branch 'perf' of https://github.com/dcommander/tigervnc

9 years agoencperf: Optionally disable pixel translation 124/head
DRC [Wed, 25 Feb 2015 20:18:07 +0000 (14:18 -0600)]
encperf: Optionally disable pixel translation
For 16-bit and 8-bit datasets, you can now run encperf with an argument of
-translate=0 to benchmark just the encoder without converting the datasets to
24-bit.  This allows the output of encperf to be directly compared with that
of the TurboVNC Benchmark Tools.

9 years agoencperf: change % to %% in printf format
DRC [Wed, 25 Feb 2015 20:08:34 +0000 (14:08 -0600)]
encperf: change % to %% in printf format
GCC lets this slide, but other compilers (clang) complain about using % rather
than %% to print a literal % character.

9 years agoencperf: add compression level to encoding list
DRC [Sat, 21 Feb 2015 18:01:47 +0000 (12:01 -0600)]
encperf: add compression level to encoding list
Explicitly add the compression level to the list of encodings so it's obvious
how to override it.

9 years agoencperf: allow # of iterations to be specified
DRC [Sat, 21 Feb 2015 17:57:27 +0000 (11:57 -0600)]
encperf: allow # of iterations to be specified

9 years agoencperf: report encoded & raw-equivalent bytes
DRC [Sat, 21 Feb 2015 17:44:26 +0000 (11:44 -0600)]
encperf: report encoded & raw-equivalent bytes
Report encoded and raw-equivalent bytes as well as compression ratio (I like
to have these statistics so I can compute overall compression ratios for
groups of datasets in a spreadsheet.)

9 years agoencperf: Code formatting tweaks
DRC [Sat, 21 Feb 2015 17:28:37 +0000 (11:28 -0600)]
encperf: Code formatting tweaks
Code formatting tweaks to improve readability & make the code consistent with
the rest of TigerVNC

9 years agoCheck for out-of-memory when installing color map. 134/head
Tim Waugh [Wed, 25 Feb 2015 12:25:33 +0000 (12:25 +0000)]
Check for out-of-memory when installing color map.

Also remove Xalloc/Xfree definitions, using malloc/free directly
instead. Note that vfbAllocateFramebufferMemory() does not need to
check for failed allocations as it is the caller's responsibility to
do so (and they do).

9 years agoThe legacy OS X keyboard API is only 32-bit
Pierre Ossman [Wed, 25 Feb 2015 13:43:42 +0000 (14:43 +0100)]
The legacy OS X keyboard API is only 32-bit

9 years agoDon't need to log local port when handling -via (#126). 126/head
Tim Waugh [Wed, 25 Feb 2015 13:40:45 +0000 (13:40 +0000)]
Don't need to log local port when handling -via (#126).

9 years agoUpdated to build against xorg-x11-server 1.17.x.
Tim Waugh [Tue, 24 Feb 2015 16:20:41 +0000 (16:20 +0000)]
Updated to build against xorg-x11-server 1.17.x.

9 years agoDon't return without value here. 121/head
Tim Waugh [Wed, 25 Feb 2015 11:27:19 +0000 (11:27 +0000)]
Don't return without value here.

In particular, return 0 as this is a failure.

9 years agoEscape FLTK menu entries 133/head
Pierre Ossman [Wed, 25 Feb 2015 10:27:49 +0000 (11:27 +0100)]
Escape FLTK menu entries

We don't want it automatically creating submenus when least
expected.

9 years agoRevert "Switch to FLTK's copy() method for menus"
Pierre Ossman [Wed, 25 Feb 2015 09:35:03 +0000 (10:35 +0100)]
Revert "Switch to FLTK's copy() method for menus"

This reverts commit e95412569bd45ec3da43e1b9a244856e0408f6ab
and commit 52a18150a7a8f2802000136c35005bc83b5b0855.

The copy() method unfortunately has its own problems so it was not
a good replacement.

9 years agoAvoid warning when compiling with gcc's -Wformat-security option.
Tim Waugh [Tue, 24 Feb 2015 12:34:14 +0000 (12:34 +0000)]
Avoid warning when compiling with gcc's -Wformat-security option.

9 years agoDisable entries instead of shuffling memory around
Pierre Ossman [Fri, 20 Feb 2015 16:34:49 +0000 (17:34 +0100)]
Disable entries instead of shuffling memory around

Less risk for bugs this way.

9 years agoUpdate copyright years 123/head
Pierre Ossman [Fri, 20 Feb 2015 16:12:57 +0000 (17:12 +0100)]
Update copyright years

9 years agoSwitch to FLTK's copy() method for menus
Pierre Ossman [Fri, 20 Feb 2015 16:08:30 +0000 (17:08 +0100)]
Switch to FLTK's copy() method for menus

It has less surprises in terms of magical characters.

9 years agoAbort argument processing on error.
Tim Waugh [Wed, 18 Feb 2015 14:55:11 +0000 (14:55 +0000)]
Abort argument processing on error.

This prevents e.g. 'Xvnc -screen x' crashing.

9 years agoCreate a console window for help output on Windows 120/head
Pierre Ossman [Tue, 17 Feb 2015 12:23:00 +0000 (13:23 +0100)]
Create a console window for help output on Windows

9 years agoAdd shortcuts to context menu for quick access
Pierre Ossman [Mon, 16 Feb 2015 15:31:51 +0000 (16:31 +0100)]
Add shortcuts to context menu for quick access

9 years agoStop mapping Meta to Super
Pierre Ossman [Mon, 16 Feb 2015 15:24:26 +0000 (16:24 +0100)]
Stop mapping Meta to Super

A lot of X11 keyboard layouts send Meta for Shift-Alt so it's not
really a good idea to assume this is the Windows key.

9 years agoMerge branch 'perf' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Fri, 13 Feb 2015 12:46:16 +0000 (13:46 +0100)]
Merge branch 'perf' of https://github.com/CendioOssman/tigervnc

9 years agoDefault compression level should be interpreted as high 119/head
Pierre Ossman [Thu, 12 Feb 2015 13:57:05 +0000 (14:57 +0100)]
Default compression level should be interpreted as high

9 years agoBe more aggressive in finding solid rectangles
Pierre Ossman [Thu, 12 Feb 2015 12:44:22 +0000 (13:44 +0100)]
Be more aggressive in finding solid rectangles

The previous FIXME was incorrect. The old code did in fact continue
looking over the entire area. This commit restores that old behaviour.

9 years agoAdd test to measure high level encoding performance
Pierre Ossman [Wed, 11 Feb 2015 12:49:04 +0000 (13:49 +0100)]
Add test to measure high level encoding performance

9 years agoMove encoder statistics into EncodeManager from SMsgWriter
Pierre Ossman [Wed, 11 Feb 2015 16:43:15 +0000 (17:43 +0100)]
Move encoder statistics into EncodeManager from SMsgWriter

It knows more details so it can track things better.

9 years agoOptimise fillRect()
Pierre Ossman [Fri, 6 Feb 2015 12:51:35 +0000 (13:51 +0100)]
Optimise fillRect()

It had regressed in performance compared to 1.3. This brings it back
up to the same speed.

9 years agoMake it possible to measure CPU usage in parellel
Pierre Ossman [Fri, 6 Feb 2015 12:50:36 +0000 (13:50 +0100)]
Make it possible to measure CPU usage in parellel

9 years agoAdd test to measure decoding performance
Pierre Ossman [Wed, 4 Feb 2015 13:12:04 +0000 (14:12 +0100)]
Add test to measure decoding performance

9 years agoGnuTLS needs socket libraries so include them in the static link
Pierre Ossman [Fri, 13 Feb 2015 10:12:42 +0000 (11:12 +0100)]
GnuTLS needs socket libraries so include them in the static link

9 years agorfb::Region uses the Xregion library
Pierre Ossman [Wed, 11 Feb 2015 12:47:21 +0000 (13:47 +0100)]
rfb::Region uses the Xregion library

9 years agoAdd stream class to feed data from a file
Pierre Ossman [Wed, 4 Feb 2015 13:11:42 +0000 (14:11 +0100)]
Add stream class to feed data from a file

9 years agoNo need for this array to be writeable
Pierre Ossman [Wed, 11 Feb 2015 12:47:58 +0000 (13:47 +0100)]
No need for this array to be writeable

9 years agoMove reverse connection information into VNCSConnectionST
Pierre Ossman [Fri, 6 Feb 2015 13:41:58 +0000 (14:41 +0100)]
Move reverse connection information into VNCSConnectionST

The only class that cares if connections are reversed or not is
VNCSConnectionST so let it keep track of this fact.

9 years agoThese methods aren't critical so no need for them to be pure
Pierre Ossman [Wed, 4 Feb 2015 13:11:11 +0000 (14:11 +0100)]
These methods aren't critical so no need for them to be pure

9 years agoGive subclasses the ability to overwrite the reader and writer
Pierre Ossman [Wed, 4 Feb 2015 13:10:43 +0000 (14:10 +0100)]
Give subclasses the ability to overwrite the reader and writer

Needed for some tests.

9 years agoSConnection internals should be private, just like for CConnection
Pierre Ossman [Fri, 6 Feb 2015 13:44:32 +0000 (14:44 +0100)]
SConnection internals should be private, just like for CConnection

9 years agoBuild fixes for modern versions of binutils.
Peter Åstrand (astrand) [Tue, 10 Feb 2015 11:21:05 +0000 (12:21 +0100)]
Build fixes for modern versions of binutils.

Need to explicitly list DSOs.

9 years agoUse a common header file for Windows errno names.
Peter Åstrand (astrand) [Thu, 5 Feb 2015 10:10:32 +0000 (11:10 +0100)]
Use a common header file for Windows errno names.

In earlier Visual Studio and MinGW editions, BSD socket errno:s were
left undefined. This is no longer the case. This may cause build or
runtime errors. To avoid this, we are using a common header file which
corrects all definitions. This header will also be used with other
projects such as sercd, unfs3, PulseAudio etc.

9 years agoMerge pull request #114 from bphinz/master
Brian Hinz [Thu, 5 Feb 2015 03:33:21 +0000 (22:33 -0500)]
Merge pull request #114 from bphinz/master

Fixes for issues caused by restructuring

9 years agoFix ubuntu patches after recent restructuring 114/head
Brian P. Hinz [Thu, 5 Feb 2015 02:40:17 +0000 (21:40 -0500)]
Fix ubuntu patches after recent restructuring

unix/xserver/hw/vnc/xvnc.cc was renamed to xvnc.c

9 years agoFixes for build issues caused by recent restructuring
Brian P. Hinz [Thu, 5 Feb 2015 02:28:18 +0000 (21:28 -0500)]
Fixes for build issues caused by recent restructuring

 * Add typedef for XF86OptionPtr for Xorg < 112
 * Include stddef.h to prevent missing size_t definition errors
 * Workaround for libtool convenience library issue

9 years agoFix fuzz in distro patches caused upstream changes
Brian P. Hinz [Thu, 5 Feb 2015 02:22:43 +0000 (21:22 -0500)]
Fix fuzz in distro patches caused upstream changes

9 years agoMake the calls to va_list logging functions more explicit
Pierre Ossman [Fri, 30 Jan 2015 15:09:08 +0000 (16:09 +0100)]
Make the calls to va_list logging functions more explicit

On some platforms va_list might be defined as something that causes
ambiguity and results in the wrong function being called.