projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix memory leak by letting the base class version handle the
[wxWidgets.git]
/
src
/
gtk1
/
font.cpp
diff --git
a/src/gtk1/font.cpp
b/src/gtk1/font.cpp
index 8735f843f7a2c0571a87a100dda62d2bac96150f..84319a4f0a3735deb54a09a587183061d968b70c 100644
(file)
--- a/
src/gtk1/font.cpp
+++ b/
src/gtk1/font.cpp
@@
-3,8
+3,8
@@
// Purpose:
// Author: Robert Roebling
// Id: $Id$
// Purpose:
// Author: Robert Roebling
// Id: $Id$
-// Copyright: (c) 1998 Robert Roebling
, Julian Smart and Markus Holzem
-// Licence: wxWi
ndow
s licence
+// Copyright: (c) 1998 Robert Roebling
and Julian Smart
+// Licence: wxWi
dget
s licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
@@
-15,10
+15,13
@@
// headers
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
-#if
def __GNUG__
+#if
defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "font.h"
#endif
#pragma implementation "font.h"
#endif
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
#include "wx/font.h"
#include "wx/fontutil.h"
#include "wx/cmndata.h"
#include "wx/font.h"
#include "wx/fontutil.h"
#include "wx/cmndata.h"
@@
-233,6
+236,11
@@
void wxFontRefData::InitFromNative()
// init fields
m_faceName = wxGTK_CONV_BACK( pango_font_description_get_family( desc ) );
// init fields
m_faceName = wxGTK_CONV_BACK( pango_font_description_get_family( desc ) );
+ // Pango sometimes needs to have a size
+ int pango_size = pango_font_description_get_size( desc );
+ if (pango_size == 0)
+ pango_font_description_set_size( desc, 12 * PANGO_SCALE);
+
m_pointSize = pango_font_description_get_size( desc ) / PANGO_SCALE;
switch (pango_font_description_get_style( desc ))
m_pointSize = pango_font_description_get_size( desc ) / PANGO_SCALE;
switch (pango_font_description_get_style( desc ))
@@
-773,7
+781,7
@@
bool wxFont::GetNoAntiAliasing()
return M_FONTDATA->m_noAA;
}
return M_FONTDATA->m_noAA;
}
-wxNativeFontInfo *wxFont::GetNativeFontInfo() const
+
const
wxNativeFontInfo *wxFont::GetNativeFontInfo() const
{
wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
{
wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
@@
-782,7
+790,7
@@
wxNativeFontInfo *wxFont::GetNativeFontInfo() const
GetInternalFont();
#endif
GetInternalFont();
#endif
- return
new wxNativeFontInfo
(M_FONTDATA->m_nativeFontInfo);
+ return
&
(M_FONTDATA->m_nativeFontInfo);
}
bool wxFont::IsFixedWidth() const
}
bool wxFont::IsFixedWidth() const
@@
-947,10
+955,6
@@
GdkFont *wxFont::GetInternalFont( float scale ) const
M_FONTDATA->m_faceName,
M_FONTDATA->m_encoding,
&xfontname);
M_FONTDATA->m_faceName,
M_FONTDATA->m_encoding,
&xfontname);
- if ( font )
- {
- M_FONTDATA->m_nativeFontInfo.SetXFontName(xfontname);
- }
}
}
}
}