From kde-frameworks-devel Wed Sep 28 08:40:38 2016 From: =?utf-8?q?Jos=C3=A9_Manuel_Santamar=C3=ADa_Lema?= Date: Wed, 28 Sep 2016 08:40:38 +0000 To: kde-frameworks-devel Subject: Re: Review Request 129032: Don't 'inline' public functions to avoid ABI breakage. Message-Id: <20160928084038.8185.8640 () mimi ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-frameworks-devel&m=147505204506448 --===============3191892290649699821== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/129032/ ----------------------------------------------------------- (Updated Sept. 28, 2016, 11:40 a.m.) Status ------ This change has been marked as submitted. Review request for KDE Frameworks and David Faure. Changes ------- Submitted with commit 89f8bcf00fc2fc17527d7bb4e0e2aea51f8776cb by José Manuel Santamaría Lema to branch master. Repository: kio Description ------- Don't 'inline' public functions to avoid ABI breakage. Diffs ----- src/widgets/kpropertiesdialog.h a85037a src/widgets/kpropertiesdialog.cpp 5f64478 Diff: https://git.reviewboard.kde.org/r/129032/diff/ Testing ------- When packaging kio for kubuntu we realized there was a couple of missing symbols which are a couple of deprecated functions, these functions were "inlined" (without using the 'inline' keyword). This is the offending commit: https://quickgit.kde.org/?p=kio.git&a=commitdiff&h=b36d368f8004d949597fbe9dc83d6b70418c22f8 From the binary compatibility page "Do's and Don'ts": https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B#The_Do.27s_and_Don.27ts You cannot... [...] For existing functions of any type: [...] inline it (this includes moving a member function's body to the class definition, even without the inline keyword). The proposed patch moves the functions implementation from the .h file to the .cpp file so this way the binary compatibility is kept. Thanks, José Manuel Santamaría Lema --===============3191892290649699821== MIME-Version: 1.0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: 8bit
This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/129032/

This change has been marked as submitted.


Review request for KDE Frameworks and David Faure.
By José Manuel Santamaría Lema.

Updated Sept. 28, 2016, 11:40 a.m.

Changes

Submitted with commit 89f8bcf00fc2fc17527d7bb4e0e2aea51f8776cb by José Manuel Santamaría Lema to branch master.
Repository: kio

Description

Don't 'inline' public functions to avoid ABI breakage.

Testing

When packaging kio for kubuntu we realized there was a couple of missing symbols which are a couple of deprecated functions, these functions were "inlined" (without using the 'inline' keyword). This is the offending commit: https://quickgit.kde.org/?p=kio.git&a=commitdiff&h=b36d368f8004d949597fbe9dc83d6b70418c22f8

From the binary compatibility page "Do's and Don'ts": https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B#The_Do.27s_and_Don.27ts You cannot... [...] For existing functions of any type: [...] inline it (this includes moving a member function's body to the class definition, even without the inline keyword).

The proposed patch moves the functions implementation from the .h file to the .cpp file so this way the binary compatibility is kept.

Diffs

  • src/widgets/kpropertiesdialog.h (a85037a)
  • src/widgets/kpropertiesdialog.cpp (5f64478)

View Diff

--===============3191892290649699821==--