View Issue Details

IDProjectCategoryView StatusLast Update
0014147ScribusGeneralpublic2016-12-16 21:05
Reporterbeojan Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status acknowledgedResolutionopen 
PlatformAllOSAllOS VersionAll
Product Version1.5.3.svn 
Target Version1.6 milestoneFixed in Version 
Summary0014147: Scribus eventually will need to use new smart pointers (unique_ptr and shared_ptr)
DescriptionScribus currently uses auto_ptr, which is deprecated in C++11 and above. It should be updated to use the new smart pointers (unique_ptr and shared_ptr).

In GCC 6, the default is to compile as C++14. If auto_ptr is to be used, the build system should choose to build Scribus as C++03.
TagsQt5.7
PatchNo

Activities

ale

2016-06-13 14:58

manager   ~0041652

i think that the team should make a decision is here:

should scribus require c++11?

as far as i know, c++11 is currently an option in cmake (and depending on the compiler and version used to compile the default choice).

if the team agrees, you (or others) are very welcome to propose a set of patches to fix that!

jghali

2016-06-13 15:42

administrator   ~0041653

We currently support building Scribus with Qt 5.4 which does not require c++11. The first Qt version which will require c++11 is Qt 5.7... which is not even released yet. Given c++98 and c++11 binary compatibility is no guaranteed, until we require Qt 5.7, we have no reason to do such change.

cbradney

2016-06-13 20:51

administrator   ~0041656

Also, gcc is not given as the compiler, certainly not v6

ale

2016-06-14 08:45

manager   ~0041659

well, as far as i understand it, for qt it is enough that it is c++11 compatible. (and all qt5 versions seem to be compatible)

and the reason for making the switch would be to remove auto_ptr.

it's not urgent at all, but if somebody volunteers to do it...

jghali

2016-06-14 09:56

administrator   ~0041660

>> as far as i understand it, for qt it is enough that it is c++11 compatible.

No, as mentioned above c++98 and c++11 binary compatibility is no guaranteed. So if Qt is built in c++98 mode, we have to use c++ 98 and in such case unique_ptr and shared_ptr are not available. So replacing auto_ptr as this point is out of question.

ale

2016-06-14 10:00

manager   ~0041661

ok, thanks for giving more details on that binary incompatibility.

i think that we can keep this ticket as a reference for other people that will -- very likely -- make similar suggestions in the future.

Issue History

Date Modified Username Field Change
2016-06-12 14:58 beojan New Issue
2016-06-13 14:58 ale Note Added: 0041652
2016-06-13 15:42 jghali Note Added: 0041653
2016-06-13 20:51 cbradney Note Added: 0041656
2016-06-14 08:45 ale Note Added: 0041659
2016-06-14 09:56 jghali Note Added: 0041660
2016-06-14 10:00 ale Note Added: 0041661
2016-12-16 21:04 Kunda Target Version => 1.6 milestone
2016-12-16 21:04 Kunda Summary Should be updated to use new smart pointers => Scribus eventually will need to use new smart pointers (unique_ptr and shared_ptr)
2016-12-16 21:04 Kunda Tag Attached: Qt5.7
2016-12-16 21:05 Kunda Status new => acknowledged