freebsd-ports/devel/ice/files/patch-cpp-src-slice2cpp-Gen.cpp
Matthias Andree 35717bde57 Overhaul devel/ice, devel/py-ice and devel/php5-ice:
Changes from [*]:
- Update Ice to 3.5.1.
- Stageify all three ports.
- Convert py-ice and php5-ice to slave ports.
- Use ICONV_LIB, so it builds ok with native iconv [1].
- Workaround for FreeBSD 10's static destructor order disaster [2].
- Install man pages.
- Allow package build for non-root users.
[1] http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/using-iconv.html
[2] http://lists.freebsd.org/pipermail/freebsd-ports/2013-June/084580.html

Changes from [3]:
- Convert LIB_DEPENDS to new syntax.
- USE_GMAKE -> USES
- list Berkeley DB 6 invalid, requires upstream changes, but upstream is
  loathe to make those due to licensing change in BDB
- remove BDB 2 and 3 from invalid listing, we no longer have these ports

PR:		ports/184453 [*]
PR:		ports/185569 [3]
Submitted by:	Michael Gmelin (maintainer) [*]
Submitted by:	mandree [3]
Approved by:	Michael Gmelin (maintainer) [3]
2014-01-09 01:57:20 +00:00

44 lines
1.7 KiB
C++

--- cpp.orig/src/slice2cpp/Gen.cpp 2013-03-11 15:19:46.000000000 +0000
+++ cpp/src/slice2cpp/Gen.cpp 2013-05-20 19:51:48.109197053 +0000
@@ -756,10 +756,11 @@
C << sp << nl << "class " << factoryName << "__Init";
C << sb;
+ C << nl << "IceInternal::FactoryTableInit* _ftableinit;";
C.dec();
C << nl << "public:";
C.inc();
- C << sp << nl << factoryName << "__Init()";
+ C << sp << nl << factoryName << "__Init(): _ftableinit(new IceInternal::FactoryTableInit)";
C << sb;
C << nl << "::IceInternal::factoryTable->addExceptionFactory(\"" << p->scoped() << "\", new "
<< factoryName << ");";
@@ -767,6 +768,7 @@
C << sp << nl << "~" << factoryName << "__Init()";
C << sb;
C << nl << "::IceInternal::factoryTable->removeExceptionFactory(\"" << p->scoped() << "\");";
+ C << nl << "delete _ftableinit;";
C << eb;
C << eb << ';';
@@ -3976,10 +3978,11 @@
C << sp;
C << nl << "class " << factoryName << "__Init";
C << sb;
+ C << nl << "IceInternal::FactoryTableInit* _ftableinit;";
C.dec();
C << nl << "public:";
C.inc();
- C << sp << nl << factoryName << "__Init()";
+ C << sp << nl << factoryName << "__Init(): _ftableinit(new IceInternal::FactoryTableInit)";
C << sb;
if(!p->isAbstract())
{
@@ -4002,6 +4005,7 @@
{
C << nl << "::IceInternal::factoryTable->removeTypeId(" << p->compactId() << ");";
}
+ C << nl << "delete _ftableinit;";
C << eb;
C << eb << ';';