summaryrefslogtreecommitdiff
path: root/packages/libmatchbox/files/svn-code-misc-xsettings.patch
diff options
context:
space:
mode:
authorJoseph Cole <jnc@unknown.openembedded.org>2006-02-23 06:54:23 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-02-23 06:54:23 +0000
commit8d83161e5923e779fef7ee10587febfd78d6a31f (patch)
tree2daa09cbf33c861394f03bdf428df866e8232f6f /packages/libmatchbox/files/svn-code-misc-xsettings.patch
parenta420c19e280e0be94002bc644f2d3398b69882bc (diff)
libmatchbox: closes oe bug #705 "mb panel menu font too small"
Diffstat (limited to 'packages/libmatchbox/files/svn-code-misc-xsettings.patch')
-rw-r--r--packages/libmatchbox/files/svn-code-misc-xsettings.patch101
1 files changed, 101 insertions, 0 deletions
diff --git a/packages/libmatchbox/files/svn-code-misc-xsettings.patch b/packages/libmatchbox/files/svn-code-misc-xsettings.patch
new file mode 100644
index 0000000000..52b1507505
--- /dev/null
+++ b/packages/libmatchbox/files/svn-code-misc-xsettings.patch
@@ -0,0 +1,101 @@
+diff -uprN libmatchbox-1.7~orig/libmb/mbexp.c libmatchbox-1.7/libmb/mbexp.c
+--- libmatchbox-1.7~orig/libmb/mbexp.c 2006-02-23 00:33:19.000000000 -0600
++++ libmatchbox-1.7/libmb/mbexp.c 2006-02-23 00:40:06.000000000 -0600
+@@ -406,6 +406,10 @@ mb_font_new(Display *dpy,
+ #endif
+
+ font = malloc(sizeof(MBFont));
++
++ if (font == NULL)
++ return NULL;
++
+ memset(font, 0, sizeof(MBFont));
+
+ if (family != NULL)
+@@ -425,9 +429,12 @@ mb_font_new(Display *dpy,
+ font->pgo_fontmap = pango_xft_get_font_map (font->dpy, DefaultScreen(dpy));
+ font->fontdes = pango_font_description_new ();
+
+- /* -- Needed ?
+- pango_context_set_language (w->pgo, pango_language_from_string ("ar_AE"));
+- */
++ /* If Pango is mis-setup the above will fail */
++ if (font->pgo_context == NULL || font->pgo_fontmap == NULL || font->fontdes == NULL)
++ {
++ free(font);
++ return NULL;
++ }
+
+ #elif defined (USE_XFT)
+
+@@ -581,8 +588,11 @@ MBFont*
+ mb_font_new_from_string(Display *dpy, char *spec)
+ {
+ MBFont *font = mb_font_new(dpy, NULL);
+- mb_font_set_from_string(font, spec);
+- return font;
++
++ if (font)
++ return mb_font_set_from_string(font, spec);
++
++ return NULL;
+ }
+
+ MBFont*
+@@ -1091,7 +1101,13 @@ mb_font_render_simple (MBFont *
+ if (!len) { free(str); return 0; }
+
+ if ((opts & MB_FONT_RENDER_OPTS_CLIP_TRAIL) && len > 3)
++ {
++ /* Avoid having a space before the elipsis */
++ while (len-1 >= 0 && str[len-1] == ' ')
++ len--;
++
+ want_dots = True;
++ }
+ }
+ else
+ {
+diff -uprN libmatchbox-1.7~orig/libmb/mbmenu.c libmatchbox-1.7/libmb/mbmenu.c
+--- libmatchbox-1.7~orig/libmb/mbmenu.c 2006-02-23 00:33:19.000000000 -0600
++++ libmatchbox-1.7/libmb/mbmenu.c 2006-02-23 00:42:23.000000000 -0600
+@@ -19,6 +19,10 @@
+
+ #define _GNU_SOURCE
+
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
+ #include "mbmenu.h"
+
+ #define MBMAX(x,y) ((x>y)?(x):(y))
+@@ -664,7 +668,7 @@ mb_menu_check_scroll_button(MBMenu *mb,M
+ return WANT_SCROLL_DOWN;
+ }
+
+- /*
++#if 0
+ for(tmpi = m->too_big_start_item;
+ tmpi != NULL;
+ tmpi = tmpi->next_item)
+@@ -679,7 +683,7 @@ mb_menu_check_scroll_button(MBMenu *mb,M
+ MENUDBG("%s() retruning want scroll up\n", __func__);
+ return WANT_SCROLL_UP;
+ }
+- */
++#endif /* #if 0 */
+
+ if (m->too_big_end_item
+ && y_pos > (m->too_big_end_item->y+m->too_big_end_item->h))
+diff -uprN libmatchbox-1.7~orig/libmb/mbpixbuf.c libmatchbox-1.7/libmb/mbpixbuf.c
+--- libmatchbox-1.7~orig/libmb/mbpixbuf.c 2006-02-23 00:33:19.000000000 -0600
++++ libmatchbox-1.7/libmb/mbpixbuf.c 2006-02-23 00:43:02.000000000 -0600
+@@ -907,6 +907,7 @@ mb_pixbuf_new_extended(Display *dpy,
+ fprintf(stderr, "mbpixbuf: unable to use XShm. DISPLAY remote?\n");
+ pb->have_shm = False;
+ }
++ else XShmDetach(pb->dpy, &shminfo);
+
+ shmdt(shminfo.shmaddr);
+ shmctl(shminfo.shmid, IPC_RMID, 0);