From 1edac9730cf665dba5cc9ae4b842ad67f0e81d11 Mon Sep 17 00:00:00 2001 From: Piotr Tworek Date: Tue, 12 Jan 2021 01:27:46 +0100 Subject: [PATCH] scout: Instantiate templates in their namespace. When building the code with clang the following warning message is prodiced: "explicit instantiation of 'Scout::Browser_window' must occur in namespace 'Scout' template class Browser_window" This happens for several different types. This patch fixes the problem by instantiating all those templates using their explicit full name. Issue #3985 --- repos/demo/src/app/scout/browser_window.cc | 2 +- repos/demo/src/app/scout/scrollbar.cc | 2 +- repos/demo/src/app/scout/widgets.cc | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/repos/demo/src/app/scout/browser_window.cc b/repos/demo/src/app/scout/browser_window.cc index a00cbeee51..362735edac 100644 --- a/repos/demo/src/app/scout/browser_window.cc +++ b/repos/demo/src/app/scout/browser_window.cc @@ -477,4 +477,4 @@ void Browser_window::handle_scroll(int view_pos) ypos_sb(-view_pos, 0); } -template class Browser_window; +template class Scout::Browser_window; diff --git a/repos/demo/src/app/scout/scrollbar.cc b/repos/demo/src/app/scout/scrollbar.cc index 1562d47594..3e17d68a09 100644 --- a/repos/demo/src/app/scout/scrollbar.cc +++ b/repos/demo/src/app/scout/scrollbar.cc @@ -327,4 +327,4 @@ Element *Scrollbar::find(Point position) } -template class Scrollbar; +template class Scout::Scrollbar; diff --git a/repos/demo/src/app/scout/widgets.cc b/repos/demo/src/app/scout/widgets.cc index 5aafc73931..9342ca2bf4 100644 --- a/repos/demo/src/app/scout/widgets.cc +++ b/repos/demo/src/app/scout/widgets.cc @@ -198,8 +198,8 @@ Element *Icon::find(Point position) return 0; } -template class Horizontal_shadow; -template class Horizontal_shadow; -template class Icon; -template class Icon; -template class Icon; +template class Scout::Horizontal_shadow; +template class Scout::Horizontal_shadow; +template class Scout::Icon; +template class Scout::Icon; +template class Scout::Icon;