Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37752124
en ru br
ALT Linux repositórios
S:2.3.7-alt1.2
5.0: 1.5.5-alt1
4.1: 1.5.5-alt0.M41.1
4.0: 1.5.2-alt0.M40.1
3.0: 1.3.5-alt1

Group :: Edição
RPM: lyx

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Patch: 0001-Work-around-a-gcc5-bug.patch
Download


From 12ab5dd810d8f95273dae2ba1e9ea699d54bab67 Mon Sep 17 00:00:00 2001
From: Georg Baum <baum@lyx.org>
Date: Tue, 15 Sep 2015 21:28:42 +0200
Subject: [PATCH] Work around a gcc5 bug
The old code produced crashes with gcc5 caused by calling the copy
constructor (see https://bugzilla.redhat.com/show_bug.cgi?id=1260976).
This has been filed as gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67557
It is currently being marked as invalid (they claim the code is not valid and
produces undefined behaviour), but I don't think that this is correct.
Fortunately i does not matter for us whether the old code was valid or not,
since the new version is easier to understand and works with all compilers.
---
 src/output_xhtml.cpp | 54 +++++++++++++++++++++++++---------------------------
 status.21x           |  2 ++
 2 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/src/output_xhtml.cpp b/src/output_xhtml.cpp
index d76a353..4666dbd 100644
--- a/src/output_xhtml.cpp
+++ b/src/output_xhtml.cpp
@@ -205,7 +205,7 @@ docstring CompTag::writeTag() const
 namespace {
 
 string fontToTag(html::FontTypes type)
- {
+{
 	switch(type) {
 	case FT_EMPH:
 		return "em";
@@ -245,68 +245,66 @@ string fontToTag(html::FontTypes type)
 	return "";
 }
 
-StartTag fontToStartTag(html::FontTypes type)
- {
-	string tag = fontToTag(type);
+string fontToAttribute(html::FontTypes type)
+{
 	switch(type) {
 	case FT_EMPH:
-		return html::StartTag(tag);
 	case FT_BOLD:
-		return html::StartTag(tag);
+		return "";
 	case FT_NOUN:
-		return html::StartTag(tag, "class='lyxnoun'");
+		return "class='lyxnoun'";
 	case FT_UBAR:
-		return html::StartTag(tag);
+		return "";
 	case FT_DBAR:
-		return html::StartTag(tag, "class='dline'");
+		return "class='dline'";
 	case FT_SOUT:
-		return html::StartTag(tag, "class='strikeout'");
+		return "class='strikeout'";
 	case FT_WAVE:
-		return html::StartTag(tag, "class='wline'");
+		return "class='wline'";
 	case FT_ITALIC:
-		return html::StartTag(tag);
+		return "";
 	case FT_UPRIGHT:
-		return html::StartTag(tag, "style='font-style:normal;'");
+		return "style='font-style:normal;'";
 	case FT_SLANTED:
-		return html::StartTag(tag, "style='font-style:oblique;'");
+		return "style='font-style:oblique;'";
 	case FT_SMALLCAPS:
-		return html::StartTag(tag, "style='font-variant:small-caps;'");
+		return "style='font-variant:small-caps;'";
 	case FT_ROMAN:
-		return html::StartTag(tag, "style='font-family:serif;'");
+		return "style='font-family:serif;'";
 	case FT_SANS:
-		return html::StartTag(tag, "style='font-family:sans-serif;'");
+		return "style='font-family:sans-serif;'";
 	case FT_TYPE:
-		return html::StartTag(tag, "style='font-family:monospace;'");
+		return "style='font-family:monospace;'";
 	case FT_SIZE_TINY:
 	case FT_SIZE_SCRIPT:
 	case FT_SIZE_FOOTNOTE:
-		return html::StartTag(tag, "style='font-size:x-small;'");
+		return "style='font-size:x-small;'";
 	case FT_SIZE_SMALL:
-		return html::StartTag(tag, "style='font-size:small;'");
+		return "style='font-size:small;'";
 	case FT_SIZE_NORMAL:
-		return html::StartTag(tag, "style='font-size:normal;'");
+		return "style='font-size:normal;'";
 	case FT_SIZE_LARGE:
-		return html::StartTag(tag, "style='font-size:large;'");
+		return "style='font-size:large;'";
 	case FT_SIZE_LARGER:
 	case FT_SIZE_LARGEST:
-		return html::StartTag(tag, "style='font-size:x-large;'");
+		return "style='font-size:x-large;'";
 	case FT_SIZE_HUGE:
 	case FT_SIZE_HUGER:
-		return html::StartTag(tag, "style='font-size:xx-large;'");
+		return "style='font-size:xx-large;'";
 	case FT_SIZE_INCREASE:
-		return html::StartTag(tag, "style='font-size:larger;'");
+		return "style='font-size:larger;'";
 	case FT_SIZE_DECREASE:
-		return html::StartTag(tag, "style='font-size:smaller;'");
+		return "style='font-size:smaller;'";
 	}
 	// kill warning
-	return StartTag("");
+	return "";
 }
 
 } // end anonymous namespace
 
 
 FontTag::FontTag(FontTypes type)
-  : StartTag(fontToStartTag(type)), font_type_(type)
+  : StartTag(fontToTag(type), fontToAttribute(type)), font_type_(type)
 {}
 
 
-- 
2.1.4
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009