Commit Graph

1984 Commits

Author SHA1 Message Date
Lukas Dürrenberger
8202099bc2 Updated year in copyright notices to 2017. 2017-02-08 12:28:54 +01:00
binary1248
cb14d6472f Make context disabling via wglMakeCurrent more tolerant of broken drivers by trying to pass a meaningful DC whenever possible and improve error messages output when WGL functions fail. 2017-01-29 02:29:25 +01:00
binary1248
7fe96d1ba3 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-27 02:41:52 +01:00
binary1248
2857207cae 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-25 00:59:30 +01:00
binary1248
6fabc38987 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-18 20:54:51 +01:00
Fytch
70e3c3529a 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.
2016-11-22 17:45:00 +01:00
Mario Liebisch
da3632b005 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.
2016-11-16 14:25:34 +01:00
Lukas Dürrenberger
b3e44568df Incremented SFML version number and added changes to the changelog. 2016-11-03 07:50:51 +01:00
Lukas Dürrenberger
303d07976c Added back GlResource::ensureGlContext() for ABI compatibility. 2016-10-28 13:51:40 +02:00
binary1248
b74391cf97 Removed internal OpenGL contexts, reduced the number of temporary contexts that get created during runtime. 2016-10-24 13:51:03 +02:00
Mario Liebisch
6c0b7857f9 Added some simple messaging when trying to build under Cygwin 2016-10-24 13:47:46 +02:00
Mischa Aster Alff
3d7f354d25 Clarify documentation on Rect::contains function bounds 2016-10-24 13:47:38 +02:00
Marco Antognini
bc121e9bda Fixed inconsistency between doc and impl on OS X for the grab feature
Patch for #1133 and #1148.
2016-10-24 13:47:29 +02:00
binary1248
555d0c484b Converted Unix Window implementation from XCB back to Xlib. 2016-10-24 13:47:19 +02:00
louis-langholtz
eacdafe9d7 Fixes bug #1049: iOS orientation change handling re-scales window size by backingScaleFactor. 2016-10-24 13:46:51 +02:00
Hapaxia
1424fa4dc3 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-10-24 13:46:44 +02:00
binary1248
946dbce6c4 Fixed possible hang when setting visibility if external window sources e.g. Qt don't forward visibility notify events to us. 2016-10-24 13:46:09 +02:00
binary1248
42146ea070 Fixed leak of XVisualInfo objects during GlxContext creation. 2016-10-24 13:46:03 +02:00
Hapax
d9056ad5b3 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-10-24 13:45:57 +02:00
James Cowgill
fea5d47221 Define SFML_OS_FREEBSD when compiling for kFreeBSD 2016-10-24 13:45:46 +02:00
Dka8
e2c4bca779 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-10-24 13:45:20 +02:00
Manu343726
cb097ff8d8 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-10-24 13:45:14 +02:00
binary1248
f72888fac3 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-10-24 13:44:55 +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
Marco Antognini
ab09af3eae Refactoring NSImage creation from raw pixels
(in prevision for custom cursors)
2016-04-14 12:26:49 +02:00
Marco Antognini
b457f5fa6c Fixed buggy window resize in fullscreen 2016-04-14 12:26:47 +02:00