OBS User unknown 2007-09-17 15:11:32 +00:00 committed by Git OBS Bridge
parent 2fc47e5844
commit 1732637a0e
4 changed files with 78 additions and 81 deletions

View File

@ -0,0 +1,68 @@
Index: mail/em-format.c
===================================================================
--- mail/em-format.c (revision 34224)
+++ mail/em-format.c (working copy)
@@ -224,6 +224,38 @@ em_format_class_add_handler(EMFormatClas
g_hash_table_insert(emfc->type_handlers, info->mime_type, info);
}
+struct _class_handlers {
+ EMFormatClass *old;
+ EMFormatClass *new;
+};
+static void
+merge_missing (gpointer key, gpointer value, gpointer userdata)
+{
+ struct _class_handlers *classes = (struct _class_handlers *) userdata;
+ EMFormatHandler *info, *oldinfo;
+
+ oldinfo = (EMFormatHandler *) value;
+ info = g_hash_table_lookup (classes->new->type_handlers, key);
+ if (!info) {
+ /* Might be from a plugin */
+ g_hash_table_insert (classes->new->type_handlers, key, value);
+ }
+
+}
+
+void
+em_format_merge_handler(EMFormat *new, EMFormat *old)
+{
+ EMFormatClass *oldc = (EMFormatClass *)G_OBJECT_GET_CLASS(old);
+ EMFormatClass *newc = (EMFormatClass *)G_OBJECT_GET_CLASS(new);
+ struct _class_handlers fclasses;
+
+ fclasses.old = oldc;
+ fclasses.new = newc;
+
+ g_hash_table_foreach (oldc->type_handlers, merge_missing, &fclasses);
+
+}
/**
* em_format_class_remove_handler:
* @emfc:
Index: mail/em-format.h
===================================================================
--- mail/em-format.h (revision 34224)
+++ mail/em-format.h (working copy)
@@ -328,5 +328,6 @@ void em_format_format_text(EMFormat *emf
void em_format_part_as(EMFormat *emf, struct _CamelStream *stream, struct _CamelMimePart *part, const char *mime_type);
void em_format_part(EMFormat *emf, struct _CamelStream *stream, struct _CamelMimePart *part);
+void em_format_merge_handler(EMFormat *new, EMFormat *old);
#endif /* ! _EM_FORMAT_H */
Index: mail/em-folder-view.c
===================================================================
--- mail/em-folder-view.c (revision 34224)
+++ mail/em-folder-view.c (working copy)
@@ -2193,6 +2193,9 @@ em_folder_view_print (EMFolderView *emfv
em_format_set_session (
(EMFormat *) efhp,
((EMFormat *) emfv->preview)->session);
+ em_format_merge_handler ((EMFormat *) efhp,
+ (EMFormat *) emfv->preview);
+
em_format_html_print_message (
efhp, emfv->folder, uids->pdata[0]);
g_object_unref (efhp);

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Sep 17 06:36:12 CEST 2007 - sragavan@novell.com
- bnc-302017-print-100pc.diff: Make sure that the handlers are present for the latter formaters.
-------------------------------------------------------------------
Fri Sep 14 13:21:29 CEST 2007 - pchenthill@novell.com

View File

@ -18,7 +18,7 @@ Obsoletes: evoltn
Provides: evoltn
AutoReqProv: on
Version: 2.11.92
Release: 5
Release: 10
Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite
#Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution/2.10/%{name}-%{version}.tar.bz2
Source: %{name}-%{version}.tar.bz2
@ -58,6 +58,7 @@ Patch92: evo-2.8.2-regression-fix.patch
Patch100: abuild.patch
#Patch101: xsltproc-no-net.patch
Patch102: evolution-2.11.6.1-cal-busy-recursion.patch
Patch103: bnc-302017-print-100pc.diff
Patch999: build-fixes.diff
Patch1000: evolution-stringcompare.patch
Url: http://gnome.org/projects/evolution/
@ -313,6 +314,7 @@ Authors:
%patch100 -p1
#%patch101 -p1
%patch102 -p1
%patch103
%patch999
%patch1000
@ -420,6 +422,8 @@ fi
%{_libdir}/evolution/*/conduits/*.so
%changelog
* Mon Sep 17 2007 - sragavan@novell.com
- bnc-302017-print-100pc.diff: Make sure that the handlers are present for the latter formaters.
* Fri Sep 14 2007 - pchenthill@novell.com
- publish-calendar-glade-fix.patch: commenting the patch, since it
does not fix the issue. The fix is present in evolution-2.12 as a

View File

@ -1,80 +0,0 @@
Index: plugins/publish-calendar/Makefile.am
===================================================================
--- plugins/publish-calendar/Makefile.am.orig
+++ plugins/publish-calendar/Makefile.am
@@ -1,14 +1,14 @@
INCLUDES = \
-I$(top_srcdir) \
$(EVOLUTION_CALENDAR_CFLAGS) \
- -DEVOLUTION_PLUGINDIR="\"$(plugindir)\""
+ -DEVOLUTION_GLADEDIR=\""$(gladedir)"\"
@EVO_PLUGIN_RULE@
plugin_DATA = \
org-gnome-publish-calendar.eplug \
- org-gnome-publish-calendar.xml \
- publish-calendar.glade
+ org-gnome-publish-calendar.xml
+
plugin_LTLIBRARIES = liborg-gnome-publish-calendar.la
liborg_gnome_publish_calendar_la_SOURCES = \
Index: plugins/publish-calendar/publish-calendar.c
===================================================================
--- plugins/publish-calendar/publish-calendar.c.orig
+++ plugins/publish-calendar/publish-calendar.c
@@ -35,6 +35,8 @@
#include "publish-format-fb.h"
#include "publish-format-ical.h"
+#define GLADE_FILENAME EVOLUTION_GLADEDIR "/publish-calendar.glade"
+
static GtkListStore *store = NULL;
static GHashTable *uri_timeouts = NULL;
static GSList *publish_uris = NULL;
@@ -472,13 +474,8 @@ publish_calendar_locations (EPlugin *epl
GSList *l;
GtkTreeIter iter;
GConfClient *client;
- char *gladefile;
- gladefile = g_build_filename (EVOLUTION_PLUGINDIR,
- "publish-calendar.glade",
- NULL);
- xml = glade_xml_new (gladefile, "toplevel", NULL);
- g_free (gladefile);
+ xml = glade_xml_new (GLADE_FILENAME, "toplevel", NULL);
ui->treeview = glade_xml_get_widget (xml, "url list");
if (store == NULL)
Index: plugins/publish-calendar/url-editor-dialog.c
===================================================================
--- plugins/publish-calendar/url-editor-dialog.c.orig
+++ plugins/publish-calendar/url-editor-dialog.c
@@ -27,6 +27,8 @@
#include <string.h>
#include <e-util/e-util-private.h>
+#define GLADE_FILENAME EVOLUTION_GLADEDIR "/publish-calendar.glade"
+
static GtkDialogClass *parent_class = NULL;
static void
@@ -305,15 +307,10 @@ url_editor_dialog_construct (UrlEditorDi
GConfClient *gconf;
GtkSizeGroup *group;
EPublishUri *uri;
- char *gladefile;
gconf = gconf_client_get_default ();
- gladefile = g_build_filename (EVOLUTION_PLUGINDIR,
- "publish-calendar.glade",
- NULL);
- gui = glade_xml_new (gladefile, "publishing toplevel", NULL);
- g_free (gladefile);
+ gui = glade_xml_new (GLADE_FILENAME, "publishing toplevel", NULL);
dialog->gui = gui;
#define GW(name) ((dialog->name) = glade_xml_get_widget (dialog->gui, #name))