Commit Graph

2236 Commits

Author SHA1 Message Date
binary1248
d10d205bb3 Fixed Xlib crashing in sf::Window:setIcon because it expects the element data type passed to XChangeProperty to be unsigned long (architecture dependent 32-bit or 64-bit) instead of sf::Uint32 (architecture independent 32-bit) (#1168). Also adjusted other occurrences of wrong types passed to XChangeProperty with format set to 32. 2017-01-28 14:28:15 +01:00
binary1248
af5244d85d Replaced TransientContextLock implementation with a more elaborate one which relies on locking a single mutex and thus avoids lock order inversion. Fixes #1165. 2017-01-27 20:50:16 +01:00
binary1248
022f1590d8 Fixed GLX extensions being loaded too late preventing multisampling configuration information from being read during format selection. GLX extensions are now loaded as early as possible either in a constructor of GlxContext or GlxContext::selectBestVisual. 2017-01-23 16:52:28 +01:00
Fytch
c678cae498 fixed sf::Image::create
Discussion thread: http://en.sfml-dev.org/forums/index.php?topic=20875.0
Basically, the issue with sf::Image::create was, that it would either
occupy space, it doesn't need, because std::vector::resize doesn't
actually shrink the vector, or reallocate in an inefficient way by
needlessly copying the whole old image over. Neither did it grant strong
exception safety guarantee because it changed the non-throwing members
(m_size) prior to doing the critical stuff (reallocating) which may
throw. Changing the order and using a temporary
(create-temporary-and-swap idiom; see http://www.gotw.ca/gotw/059.htm)
fixes both of these problems.
2017-01-23 16:52:21 +01:00
Mario Liebisch
8c7c48481b Windows: Removed thread affinity changes in sf::Clock
* This should prevent timing issues on Windows XP and earlier with broken BIOS while avoiding unnecessary threading changes.
2017-01-23 16:52:11 +01:00
Cobaltergeist
5eaa748adb Addressed Seeking Quirks in FLAC Reader 2016-11-11 02:24:05 -08:00
Cobaltergeist
746bb9c8ca Changed fillAndPushBuffer to use a retry loop. 2016-11-08 08:28:05 +01:00
Lukas Dürrenberger
77d19859bc Added protected d-tor to sf::NonCopyable to prevent possible resource leaks. 2016-11-04 15:36:51 +01:00
Lukas Dürrenberger
67ef694443 Incremented SFML version number and added changes to the changelog. 2016-11-04 10:43:50 +01:00
Cobaltergeist
2207af41e4 Fixed inconsistent seek behavior in SoundStream 2016-10-13 19:50:21 +02:00
binary1248
2df9abf341 Added missing setActive virtual method to sf::RenderTarget, added setActive calls to OpenGL example to demonstrate proper explicit context management. 2016-10-13 17:01:41 +02:00
binary1248
39208efb55 Removed internal OpenGL contexts, reduced the number of temporary contexts that get created during runtime. 2016-10-06 08:28:51 +02:00
Mario Liebisch
95828a85a2 Added some simple messaging when trying to build under Cygwin 2016-10-04 09:33:15 +02:00
Mischa Aster Alff
3d41e28e6a Clarify documentation on Rect::contains function bounds 2016-10-01 13:21:38 +02:00
Marco Antognini
550fb2b60a Fixed inconsistency between doc and impl on OS X for the grab feature
Patch for #1133 and #1148.
2016-10-01 12:24:04 +02:00
binary1248
9996b7abb6 Converted Unix Window implementation from XCB back to Xlib. 2016-09-29 09:25:34 +02:00
louis-langholtz
fae3b65f05 Fixes bug #1049: iOS orientation change handling re-scales window size by backingScaleFactor. 2016-09-13 20:26:34 +02:00
Hapaxia
68850d331f update Window documentation
removed part of the sentence that stated that cursor grabbing is different for fullscreen windows as this is not the case.
2016-09-13 18:41:35 +02:00
binary1248
340ebfb272 Fixed possible hang when setting visibility if external window sources e.g. Qt don't forward visibility notify events to us. 2016-08-24 14:07:07 +02:00
binary1248
ae23cb39ba Fixed leak of XVisualInfo objects during GlxContext creation. 2016-08-24 14:06:47 +02:00
Hapax
7c0f534877 Changed uniform error message
Changed the error message for using uniforms to use the word uniform instead of the word parameter since parameter's deprecation.

A minor text output alteration to keep consistent with the new interface.
2016-08-24 14:05:47 +02:00
James Cowgill
e199ef3790 Define SFML_OS_FREEBSD when compiling for kFreeBSD 2016-08-24 14:05:40 +02:00
Dka8
b16d29b4ae UdpSocket.hpp typo in comment for void unbind()
Function  void unbind();
The suggested text by @binary1248
Added "If the socket is not bound to a port, this function has no effect."
2016-08-24 14:05:24 +02:00
Manu343726
9558c6d689 Correctly add XCB components if no components are requested
This commit fixes the FindXCB.cmake module for the case no components
are requested. The previous version assigned `XCB_FIND_COMPONENTS`
list to an empty variable name.

I was lucky enough to catch the bug in a corner case where both
`XCB_COMPONENTS` and `XCB_FIND_COMPONENTS` were empty and `set()`
command failed, but note this awesome CMake language supports more annoying
corner cases like `XCB_COMPONENTS` empty and `XCB_FIND_COMPONENTS`
with two elements, which results in the following `set()` invocation:

``` cmake
set(${XCB_FIND_COMPONENTS[0]} ${XCB_FIND_COMPONENTS[1]})
```

So always beware of CMake secret charms...
2016-08-24 14:05:17 +02:00
binary1248
ca03b646ef Fixed not being able to set the window icon properly on some Unix window managers (#1087) and added support for setting the window icon via ICCCM (_NET_WM_ICON). 2016-08-24 14:05:02 +02:00
Marco Antognini
8df8493515 Fixed PrimitiveType documentation 2016-08-07 18:37:18 +02:00
Marco Antognini
8e7bf64162 Added deprecated API in changelog 2016-08-07 18:37:03 +02:00
Marco Antognini
818a8d1659 Updated changelog 2016-08-06 19:00:03 +02:00
Marco Antognini
a43be42999 Bump version to 2.4.0 2016-08-06 19:00:02 +02:00
Marco Antognini
ac50bf8648 Update copyright dates
For futur references:

List and inspect © to be updated
$ egrep '2007-[0-9]{4}' -r examples/ tools/ src/ include/ license.txt

Update all ©
$ egrep --null -l '2007-[0-9]{4}' -r examples/ tools/ src/ include/ license.txt | xargs -0 -P4 sed -i '' -E 's/^(.*)2007-[0-9]{4}(.*)$/\12007-2016\2/'
2016-08-05 16:20:39 +02:00
Mario Liebisch
3a2e176e59 Android: Readded support for libc++ and use it as the standard STL 2016-07-23 14:35:10 +02:00
Mario Liebisch
757094a25b Fixed current Android compilation issues
* Updated the Android toolchain file to support NDKs up to the latest release (r12b; based on https://github.com/gongminmin/android-cmake).
* Fixed missing sRGB extension defines - also SFML once again compiles for older target API levels not having the sRGB extensions (fixes #1079, supersedes #1085).
* Changed SFML's default STL runtime to `stlport_shared`, since `c++_shared` is no longer supported.
2016-07-21 10:42:45 +02:00
Michał Marszałek
36bb3c4531 Added pointer checks to Android's resource stream.
This fixes issues #1056.
2016-07-21 10:39:18 +02:00
Victor Levasseur
61526628d1 Fix the cursor not always grabbed again correctly after a focus gain 2016-07-18 01:18:50 +02:00
binary1248
6f3273b7a6 Added Unix implementation of sf::Window::setCursorGrabbed (#394), fixed xcb_set_input_focus being called on a window before it is viewable on some window managers (#991). 2016-07-18 01:18:48 +02:00
Marco Antognini
427ce77d4e Added OS X implementation of sf::Window::setCursorGrabbed
This implementation uses the following workaround:
 - resize flag is removed from the window when the cursor is grabbed
 - when grabbed, the cursor is projected inside the view if needed
 - to avoid letting the user clic outside the view, the cursor is
   disconnected and manually moved using relative motion
 - the initial potential projection of the cursor results in a big
   delta for the next move and needed to be somehow ignored (see
   note about m_deltaXBuffer and m_deltaYBuffer in SFOpenGLView.h)
2016-07-18 01:18:46 +02:00
Marco Antognini
90c01d3030 Added iOS and Android 'not applicable' implementation of setMouseCursorGrabbed 2016-07-18 01:18:44 +02:00
Mario Liebisch
f7dcc10a70 Added ability to grab the cursor (w/ Windows impl.)
* When grabbed, the mouse cursor may not be moved outside a window's client frame.
 * Fullscreen windows always grab the mouse cursor.
 * The effect is only active while the SFML window is the active
foreground window.
 * Right now this is only implemented for Windows.

Signed-off-by: Marco Antognini <antognini.marco@gmail.com>
2016-07-18 01:18:42 +02:00
Mario Liebisch
ba9383f25e Updated/fixed string comparisons in Config.cmake
SFML so far used `${CMAKE_SYSTEM_NAME} MATCHES "Windows"`. This works, but only because there's a variable `WINDOWS` having the exact same content (`Windows`).

[More information and a similar issue can be found in this SO thread.](http://stackoverflow.com/questions/21995777/cygwins-cmake-does-not-match-for-cmake-system-name)
2016-07-17 20:13:14 +02:00
JacksonCoder
b1827ddb6d Fixed a small typo in the Xcode Template 2016-07-04 11:02:43 +02:00
Marco Antognini
193e54773d Fixed some typos 2016-06-14 23:12:43 +02:00
verrazano
afb8254b6d Changed primitive types to be grammatically correct. 2016-06-05 22:58:27 +02:00
Andras Kucsma
fb40e7e43f Change comment chars in FindSFML.cmake to # 2016-06-05 00:08:55 +02:00
binary1248
c15172e3fd Fixed FTP directory listing blocking forever if both expected responses are read from the command socket in a single call. (#1025) 2016-06-04 22:55:57 +02:00
binary1248
556371ea10 Fixed modifiers causing sf::Keyboard::Unknown being returned in key events on Unix (#1012). On Unix, SFML now tries harder to create proper key events on keyboards that shift keys which are typically unshifted on QWERTY layouts (this makes the numeric codes usable even on AZERTY layouts). 2016-05-10 08:40:18 +02:00
Maximilian Wagenbach
f49c156a31 Implemented stereo audio recording. 2016-05-08 23:29:25 +02:00
binary1248
259811d59c Implemented support for explicit mipmap generation in sf::Texture and sf::RenderTexture. (#123) 2016-05-04 20:01:22 +02:00
Lukas Dürrenberger
2c7b58f406 Fixes a bug where vorbis can't handle large buffers. 2016-04-22 17:22:16 +02:00
Mario Liebisch
9f6f02f988 Android: Added sf::getNativeActivity() to retrieve a handle to the current activity
This is only implemented for Android builds and requires the user to include the sub-header specifically. Other platforms will trigger a compiler error, if they try to include this header file.
2016-04-22 15:53:14 +02:00
Marco Antognini
845c684ec8 Remove support for 32-bit on OS X
NOTE: external libraries are not updated in this commit but don't expect update to contain 32-bit symbols from now on.
2016-04-14 12:26:50 +02:00