forked from thjaeger/easystroke
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
merge new patches #1
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Depending on which C++ standard library headers have been included there might an abs(float) function already declared in the global namespace, so the definition in this file conflicts with it. This cause a build failure with GCC 7, which conforms more closely to the C++ standard with respect to overloads of abs. Including <cmath> and adding a using-declaration for std::abs ensures that the standard std::abs(float) function is available. This solution should be portable to all compilers.
…ll allow mtrack to be used with easystroke
French translation update
switch from fork to g_spawn_async
Remove abs(float) function that clashes with std::abs(float)
Remove unnecessary requirement for device to be absolute
The template member functions Stroke::save and Stroke::load get called via the serialize() function generated by boost's macro BOOST_SERIALIZATION_SPLIT_MEMBER() in gesture.h. Since the definitions of save()/load() are only available in gesture.cc, the compiler may produce two versions of Stroke::serialize() -- one with save()/load() inlined in gesture.o and one with calls to save()/load() in all other referencing translation units. Since the compiler inlined Stroke::save() and Stroke::load(), it will not export them in gesture.o (which is legitimate, since the code only requests an export of Stroke::serialize). As a result, some orders of object files can fail to link, when the linker picks the version of Stroke::serialize() that would call save()/load() (which are not available separately) instead of the version with these functions inlined. Avoid relying on this compiler- and optimization-level dependent behavior by moving the definition of template member functions Stroke::save() and Stroke::load() into gesture.h. As a side-effect, that change unifies code style, since all other classes have their ::save() and ::load() definitions in header files, too. These link failures surfaced when building on s390x with -march=zEC12 or later, and can be reproduced on x86_64 with gcc parameters --param max-inline-insns-auto=80 --param inline-min-speedup=2 Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
Fix a linking problem by moving Stroke::save() and load() into header
fix a crash hapenning since updating Ubuntu 18.04
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.