summaryrefslogtreecommitdiff
path: root/editors/AbiWord2
diff options
context:
space:
mode:
authorAlexander Nedotsukov <bland@FreeBSD.org>2004-02-27 18:21:07 +0000
committerAlexander Nedotsukov <bland@FreeBSD.org>2004-02-27 18:21:07 +0000
commitbe586f2c5de483ecc3baf4bed15c2f338459ea8d (patch)
tree96c38850cc1a442a93486609cd6a990c7e306c46 /editors/AbiWord2
parentFix a potential security problem on Linux/glibc whose getpass(3) apparently (diff)
- Fix crash on startup bug for locales with mb acceleratos in menu.
- Utilize USE_ICONV
Notes
Notes: svn path=/head/; revision=102300
Diffstat (limited to 'editors/AbiWord2')
-rw-r--r--editors/AbiWord2/Makefile4
-rw-r--r--editors/AbiWord2/files/patch-src::af::ev::unix::ev_UnixMenu.cpp47
2 files changed, 49 insertions, 2 deletions
diff --git a/editors/AbiWord2/Makefile b/editors/AbiWord2/Makefile
index cc6708b596e8..cfd0c15a0452 100644
--- a/editors/AbiWord2/Makefile
+++ b/editors/AbiWord2/Makefile
@@ -7,7 +7,7 @@
PORTNAME= AbiWord2
PORTVERSION= 2.0.3
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= editors
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} \
http://www.abisource.com/downloads/Version-${PORTVERSION}/lf/
@@ -20,7 +20,6 @@ COMMENT= An open-source, cross-platform WYSIWYG word processor
# unzip is needed during the installation process
BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
LIB_DEPENDS= png.5:${PORTSDIR}/graphics/png \
- iconv.3:${PORTSDIR}/converters/libiconv \
fribidi.0:${PORTSDIR}/converters/fribidi \
popt.0:${PORTSDIR}/devel/popt \
aspell.15:${PORTSDIR}/textproc/aspell
@@ -36,6 +35,7 @@ USE_AUTOMAKE_VER=14
USE_AUTOCONF_VER=213
USE_GMAKE= yes
USE_REINPLACE= yes
+USE_ICONV= yes
USE_GNOME= gnomehier libglade2 libxml2
WANT_GNOME= yes
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include -I${X11BASE}/include" \
diff --git a/editors/AbiWord2/files/patch-src::af::ev::unix::ev_UnixMenu.cpp b/editors/AbiWord2/files/patch-src::af::ev::unix::ev_UnixMenu.cpp
new file mode 100644
index 000000000000..25bce4773cf3
--- /dev/null
+++ b/editors/AbiWord2/files/patch-src::af::ev::unix::ev_UnixMenu.cpp
@@ -0,0 +1,47 @@
+--- src/af/ev/unix/ev_UnixMenu.cpp.orig Sat Feb 28 01:01:29 2004
++++ src/af/ev/unix/ev_UnixMenu.cpp Sat Feb 28 03:05:52 2004
+@@ -433,22 +433,20 @@
+ return true;
+ }
+
+-static char _ev_get_underlined_char(const char * szString)
++static guint _ev_get_underlined_char(const char * szString)
+ {
+
+ UT_ASSERT(szString);
+
+- // return the char right after the underline
+- const char * p = szString;
+- while (*p && *(p+1))
++ // return the keycode right after the underline
++ const UT_UCS4String str(szString);
++ for (int i = 0; i < str.length() - 1; )
+ {
+- if (*p == '_')
+- return *++p;
+- else
+- p++;
++ if (str[i++] == '_')
++ return gdk_unicode_to_keyval(str[i]);
+ }
+
+- return 0;
++ return GDK_VoidSymbol;
+ }
+
+ static void _ev_strip_underline(char * bufResult,
+@@ -751,12 +749,12 @@
+ // version of the underlined char, since all the menus ignore upper
+ // case (SHIFT-MOD1-[char]) invokations of accelerators.
+
+- if (bAltOnMod1)
++ if (keyCode != GDK_VoidSymbol && bAltOnMod1)
+ {
+ EV_EditEventMapper * pEEM = m_pFrame->getEditEventMapper();
+ UT_ASSERT(pEEM);
+ EV_EditMethod * pEM = NULL;
+- pEEM->Keystroke(EV_EKP_PRESS|EV_EMS_ALT|tolower(keyCode),&pEM);
++ pEEM->Keystroke(EV_EKP_PRESS|EV_EMS_ALT|keyCode,&pEM);
+
+ // if the pointer is valid, there is a conflict
+ bConflict = (pEM != NULL);