aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/config/ConfigManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/ConfigManager.cpp')
-rw-r--r--src/config/ConfigManager.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp
index 2283ba08..9d17cfbe 100644
--- a/src/config/ConfigManager.cpp
+++ b/src/config/ConfigManager.cpp
@@ -1650,10 +1650,15 @@ std::vector<SLayerRule> CConfigManager::getMatchingRules(SLayerSurface* pLS) {
std::vector<SLayerRule> returns;
for (auto& lr : m_dLayerRules) {
- std::regex NSCHECK(lr.targetNamespace);
+ if (lr.targetNamespace.find("address:0x") == 0) {
+ if (getFormat("address:0x%x", pLS) != lr.targetNamespace)
+ continue;
+ } else {
+ std::regex NSCHECK(lr.targetNamespace);
- if (!pLS->layerSurface->_namespace || !std::regex_search(pLS->layerSurface->_namespace, NSCHECK))
- continue;
+ if (!pLS->layerSurface->_namespace || !std::regex_search(pLS->layerSurface->_namespace, NSCHECK))
+ continue;
+ }
// hit
returns.push_back(lr);