-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
barrier: fix build with gcc #26964
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
Merged
Merged
barrier: fix build with gcc #26964
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
From c8e79bfd5408cdc031af0b0edd62110af8f5be49 Mon Sep 17 00:00:00 2001 | ||
From: Sergey Fedorov <[email protected]> | ||
Date: Sat, 7 Dec 2024 16:57:20 +0800 | ||
Subject: [PATCH 1/4] Add missing cstdint header | ||
|
||
--- | ||
src/lib/base/String.h | 1 + | ||
src/lib/net/FingerprintData.h | 1 + | ||
2 files changed, 2 insertions(+) | ||
|
||
diff --git src/lib/base/String.h src/lib/base/String.h | ||
index 9c5a53ba..faf35969 100644 | ||
--- src/lib/base/String.h | ||
+++ src/lib/base/String.h | ||
@@ -23,6 +23,7 @@ | ||
|
||
#include <stdarg.h> | ||
#include <vector> | ||
+#include <cstdint> | ||
|
||
// use standard C++ string class for our string class | ||
typedef std::string String; | ||
diff --git src/lib/net/FingerprintData.h src/lib/net/FingerprintData.h | ||
index 938a6953..8ab16314 100644 | ||
--- src/lib/net/FingerprintData.h | ||
+++ src/lib/net/FingerprintData.h | ||
@@ -20,6 +20,7 @@ | ||
|
||
#include <string> | ||
#include <vector> | ||
+#include <cstdint> | ||
|
||
namespace barrier { | ||
|
||
-- | ||
2.47.1 | ||
|
26 changes: 26 additions & 0 deletions
26
aqua/barrier/files/0002-libplatform-use-ObjC-flags-on-Apple.patch
This file contains hidden or 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
From 280fa0101a57ae2e082beaee5811334b669400a2 Mon Sep 17 00:00:00 2001 | ||
From: Sergey Fedorov <[email protected]> | ||
Date: Sat, 7 Dec 2024 19:02:23 +0800 | ||
Subject: [PATCH 2/4] libplatform: use ObjC flags on Apple | ||
|
||
--- | ||
src/lib/platform/CMakeLists.txt | 5 +++++ | ||
1 file changed, 5 insertions(+) | ||
|
||
diff --git src/lib/platform/CMakeLists.txt src/lib/platform/CMakeLists.txt | ||
index 75551b71..d5aba571 100644 | ||
--- src/lib/platform/CMakeLists.txt | ||
+++ src/lib/platform/CMakeLists.txt | ||
@@ -46,4 +46,9 @@ endif() | ||
if (APPLE) | ||
find_library(COCOA_LIBRARY Cocoa) | ||
target_link_libraries(platform ${COCOA_LIBRARY}) | ||
+ target_compile_options(platform PRIVATE | ||
+ $<$<COMPILE_LANGUAGE:C>:-fobjc-exceptions> | ||
+ $<$<COMPILE_LANGUAGE:C>:-xobjective-c> | ||
+ $<$<COMPILE_LANGUAGE:CXX>:-fobjc-exceptions> | ||
+ ) | ||
endif() | ||
-- | ||
2.47.1 | ||
|
124 changes: 124 additions & 0 deletions
124
aqua/barrier/files/0003-OSXScreen.mm-do-not-use-reserved-id-for-variables.patch
This file contains hidden or 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
From a87a99a1f178a9cae879c5801a48fd0bec6450a6 Mon Sep 17 00:00:00 2001 | ||
From: Sergey Fedorov <[email protected]> | ||
Date: Sat, 7 Dec 2024 20:21:49 +0800 | ||
Subject: [PATCH 3/4] OSXScreen.mm: do not use reserved id for variables | ||
|
||
--- | ||
src/lib/platform/OSXScreen.mm | 40 +++++++++++++++++------------------ | ||
1 file changed, 20 insertions(+), 20 deletions(-) | ||
|
||
diff --git src/lib/platform/OSXScreen.mm src/lib/platform/OSXScreen.mm | ||
index d41e321b..5560ba02 100644 | ||
--- src/lib/platform/OSXScreen.mm | ||
+++ src/lib/platform/OSXScreen.mm | ||
@@ -324,14 +324,14 @@ OSXScreen::registerHotKey(KeyID key, KeyModifierMask mask) | ||
return 0; | ||
} | ||
|
||
- // choose hotkey id | ||
- UInt32 id; | ||
+ // choose hotkey kid | ||
+ UInt32 kid; | ||
if (!m_oldHotKeyIDs.empty()) { | ||
- id = m_oldHotKeyIDs.back(); | ||
+ kid = m_oldHotKeyIDs.back(); | ||
m_oldHotKeyIDs.pop_back(); | ||
} | ||
else { | ||
- id = m_hotKeys.size() + 1; | ||
+ kid = m_hotKeys.size() + 1; | ||
} | ||
|
||
// if this hot key has modifiers only then we'll handle it specially | ||
@@ -343,37 +343,37 @@ OSXScreen::registerHotKey(KeyID key, KeyModifierMask mask) | ||
okay = false; | ||
} | ||
else { | ||
- m_modifierHotKeys[mask] = id; | ||
+ m_modifierHotKeys[mask] = kid; | ||
okay = true; | ||
} | ||
} | ||
else { | ||
- EventHotKeyID hkid = { 'SNRG', (UInt32)id }; | ||
+ EventHotKeyID hkid = { 'SNRG', (UInt32)kid }; | ||
OSStatus status = RegisterEventHotKey(macKey, macMask, hkid, | ||
GetApplicationEventTarget(), 0, | ||
&ref); | ||
okay = (status == noErr); | ||
- m_hotKeyToIDMap[HotKeyItem(macKey, macMask)] = id; | ||
+ m_hotKeyToIDMap[HotKeyItem(macKey, macMask)] = kid; | ||
} | ||
|
||
if (!okay) { | ||
- m_oldHotKeyIDs.push_back(id); | ||
+ m_oldHotKeyIDs.push_back(kid); | ||
m_hotKeyToIDMap.erase(HotKeyItem(macKey, macMask)); | ||
LOG((CLOG_WARN "failed to register hotkey %s (id=%04x mask=%04x)", barrier::KeyMap::formatKey(key, mask).c_str(), key, mask)); | ||
return 0; | ||
} | ||
|
||
- m_hotKeys.insert(std::make_pair(id, HotKeyItem(ref, macKey, macMask))); | ||
+ m_hotKeys.insert(std::make_pair(kid, HotKeyItem(ref, macKey, macMask))); | ||
|
||
- LOG((CLOG_DEBUG "registered hotkey %s (id=%04x mask=%04x) as id=%d", barrier::KeyMap::formatKey(key, mask).c_str(), key, mask, id)); | ||
- return id; | ||
+ LOG((CLOG_DEBUG "registered hotkey %s (id=%04x mask=%04x) as id=%d", barrier::KeyMap::formatKey(key, mask).c_str(), key, mask, kid)); | ||
+ return kid; | ||
} | ||
|
||
void | ||
-OSXScreen::unregisterHotKey(UInt32 id) | ||
+OSXScreen::unregisterHotKey(UInt32 kid) | ||
{ | ||
// look up hotkey | ||
- HotKeyMap::iterator i = m_hotKeys.find(id); | ||
+ HotKeyMap::iterator i = m_hotKeys.find(kid); | ||
if (i == m_hotKeys.end()) { | ||
return; | ||
} | ||
@@ -388,7 +388,7 @@ OSXScreen::unregisterHotKey(UInt32 id) | ||
// XXX -- this is inefficient | ||
for (ModifierHotKeyMap::iterator j = m_modifierHotKeys.begin(); | ||
j != m_modifierHotKeys.end(); ++j) { | ||
- if (j->second == id) { | ||
+ if (j->second == kid) { | ||
m_modifierHotKeys.erase(j); | ||
okay = true; | ||
break; | ||
@@ -396,17 +396,17 @@ OSXScreen::unregisterHotKey(UInt32 id) | ||
} | ||
} | ||
if (!okay) { | ||
- LOG((CLOG_WARN "failed to unregister hotkey id=%d", id)); | ||
+ LOG((CLOG_WARN "failed to unregister hotkey id=%d", kid)); | ||
} | ||
else { | ||
- LOG((CLOG_DEBUG "unregistered hotkey id=%d", id)); | ||
+ LOG((CLOG_DEBUG "unregistered hotkey id=%d", kid)); | ||
} | ||
|
||
// discard hot key from map and record old id for reuse | ||
m_hotKeyToIDMap.erase(i->second); | ||
m_hotKeys.erase(i); | ||
- m_oldHotKeyIDs.push_back(id); | ||
- if (m_activeModifierHotKey == id) { | ||
+ m_oldHotKeyIDs.push_back(kid); | ||
+ if (m_activeModifierHotKey == kid) { | ||
m_activeModifierHotKey = 0; | ||
m_activeModifierHotKeyMask = 0; | ||
} | ||
@@ -1445,8 +1445,8 @@ OSXScreen::getScrollSpeed() const | ||
kCFPreferencesCurrentUser, | ||
kCFPreferencesAnyHost); | ||
if (pref != NULL) { | ||
- CFTypeID id = CFGetTypeID(pref); | ||
- if (id == CFNumberGetTypeID()) { | ||
+ CFTypeID tid = CFGetTypeID(pref); | ||
+ if (tid == CFNumberGetTypeID()) { | ||
CFNumberRef value = static_cast<CFNumberRef>(pref); | ||
if (CFNumberGetValue(value, kCFNumberDoubleType, &scaling)) { | ||
if (scaling < 0.0) { | ||
-- | ||
2.47.1 | ||
|
26 changes: 26 additions & 0 deletions
26
aqua/barrier/files/0004-basic_types.h-pull-in-cstdint-only-with-C.patch
This file contains hidden or 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
From a503785ef27a5cf28a954d564d39d0707e7bb225 Mon Sep 17 00:00:00 2001 | ||
From: Sergey Fedorov <[email protected]> | ||
Date: Sat, 7 Dec 2024 20:33:05 +0800 | ||
Subject: [PATCH 4/4] basic_types.h: pull in cstdint only with C++ | ||
|
||
--- | ||
src/lib/common/basic_types.h | 2 ++ | ||
1 file changed, 2 insertions(+) | ||
|
||
diff --git src/lib/common/basic_types.h src/lib/common/basic_types.h | ||
index 1882e57e..33623c94 100644 | ||
--- src/lib/common/basic_types.h | ||
+++ src/lib/common/basic_types.h | ||
@@ -18,7 +18,9 @@ | ||
|
||
#pragma once | ||
|
||
+#ifdef __cpluplus | ||
#include <cstdint> | ||
+#endif | ||
|
||
// | ||
// make typedefs | ||
-- | ||
2.47.1 | ||
|
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.
Uh oh!
There was an error while loading. Please reload this page.