Merge and tweak lots of changes from upstream via an external patch file.
The plugin now works much better.
This commit is contained in:
parent
f0b71e9f3e
commit
e2b25fa6f6
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.20 2010/09/30 16:13:32 ajacoutot Exp $
|
||||
# $OpenBSD: Makefile,v 1.21 2010/10/01 13:42:57 ajacoutot Exp $
|
||||
|
||||
SHARED_ONLY= Yes
|
||||
|
||||
@ -8,6 +8,10 @@ GNOME_PROJECT= evolution-rss
|
||||
GNOME_VERSION= 0.2.0
|
||||
PKGNAME= evolution-plugin-rss-${GNOME_VERSION}
|
||||
|
||||
# XXX merged and tweaked from upstream
|
||||
MASTER_SITES0= http://www.bsdfrog.org/OpenBSD/distfiles/
|
||||
PATCHFILES= ep-rss-20101001.diff:0
|
||||
|
||||
CATEGORIES= mail
|
||||
|
||||
EVO_VERSION= 2.32
|
||||
|
@ -1,5 +1,10 @@
|
||||
MD5 (ep-rss-20101001.diff) = eDRMpPs/oLT9R+RCyz8AXw==
|
||||
MD5 (evolution-rss-0.2.0.tar.gz) = jVuhzOUIHcd35pqDaVp5Yg==
|
||||
RMD160 (ep-rss-20101001.diff) = HCzPesTEhnOFDHt2z8MWctM3Ino=
|
||||
RMD160 (evolution-rss-0.2.0.tar.gz) = O9Dq8bA614tAf5BQzGqY41xogq0=
|
||||
SHA1 (ep-rss-20101001.diff) = SKfvjkbhPgCqfBMKDmUvLF0Ocvk=
|
||||
SHA1 (evolution-rss-0.2.0.tar.gz) = ii7crMdJgyLpGBbg6uc2oR2LC00=
|
||||
SHA256 (ep-rss-20101001.diff) = qihKT2lmgF8DhO81q+jG4w6v1RDq7ykssFTerTkfOGc=
|
||||
SHA256 (evolution-rss-0.2.0.tar.gz) = H4ppDpclulwJzla1m+6kyRygAI+We3cPJBXCXlEsPr8=
|
||||
SIZE (ep-rss-20101001.diff) = 54465
|
||||
SIZE (evolution-rss-0.2.0.tar.gz) = 662994
|
||||
|
@ -1,7 +1,6 @@
|
||||
$OpenBSD: patch-configure,v 1.6 2010/09/30 16:13:32 ajacoutot Exp $
|
||||
$OpenBSD: patch-configure,v 1.7 2010/10/01 13:42:57 ajacoutot Exp $
|
||||
|
||||
XXX make it compile with gtk+2 2.22 (*_DISABLE_DEPRECATED)
|
||||
XXX make it compile with newer e-d-s (-Werror-implicit-function-declaration)
|
||||
|
||||
--- configure.orig Wed Jul 21 06:57:38 2010
|
||||
+++ configure Thu Sep 30 17:40:56 2010
|
||||
@ -13,24 +12,3 @@ XXX make it compile with newer e-d-s (-Werror-implicit-function-declaration)
|
||||
-DG_DISABLE_SINGLE_INCLUDES
|
||||
-DGTK_DISABLE_SINGLE_INCLUDES
|
||||
-Wall -Wextra
|
||||
@@ -4258,7 +4257,6 @@ fi
|
||||
-Wno-sign-compare
|
||||
-Wno-unused-parameter
|
||||
-Wdeclaration-after-statement
|
||||
- -Werror-implicit-function-declaration
|
||||
-Wformat-security -Winit-self
|
||||
-Wmissing-declarations -Wmissing-include-dirs
|
||||
-Wmissing-noreturn -Wnested-externs -Wpointer-arith
|
||||
@@ -16428,11 +16426,8 @@ if test -n "$EVOLUTION_VERSION"; then
|
||||
EVOLUTION_BASE_VERSION=$EVOLUTION_VERSION
|
||||
EVOLUTION_BASE_VERSION_S=""
|
||||
EVOLUTION_EXEC_VERSION=`$PKG_CONFIG --variable=execversion evolution-shell 2>/dev/null`
|
||||
- if test -n "$EVOLUTION_EXEC_VERSION"; then
|
||||
- break;
|
||||
- else
|
||||
+ if test -z "$EVOLUTION_EXEC_VERSION"; then
|
||||
EVOLUTION_EXEC_VERSION=$EVOLUTION_BASE_VERSION
|
||||
- break;
|
||||
fi
|
||||
else
|
||||
evo_versions='12 11 10 8 6 4'
|
||||
|
@ -1,101 +0,0 @@
|
||||
$OpenBSD: patch-src_rss-config-factory_c,v 1.3 2010/09/30 16:13:32 ajacoutot Exp $
|
||||
|
||||
From 37ebcebeae4e85024ef6689266a611841b58da2e Mon Sep 17 00:00:00 2001
|
||||
From: Lucian Langa <lucilanga@gnome.org>
|
||||
Date: Fri, 09 Jul 2010 14:38:06 +0000
|
||||
Subject: adapt to GError camel modifications
|
||||
|
||||
--- src/rss-config-factory.c.orig Tue Jul 20 22:32:03 2010
|
||||
+++ src/rss-config-factory.c Thu Sep 30 17:20:07 2010
|
||||
@@ -976,7 +976,7 @@ destroy_delete(GtkWidget *selector, gpointer user_data
|
||||
//this function resembles emfu_delete_rec in mail/em-folder-utils.c
|
||||
//which is not exported ?
|
||||
static void
|
||||
-rss_delete_rec (CamelStore *store, CamelFolderInfo *fi, CamelException *ex)
|
||||
+rss_delete_rec (CamelStore *store, CamelFolderInfo *fi, GError **error)
|
||||
{
|
||||
int i;
|
||||
GPtrArray *uids;
|
||||
@@ -986,7 +986,7 @@ rss_delete_rec (CamelStore *store, CamelFolderInfo *fi
|
||||
|
||||
d("deleting folder '%s'\n", fi->full_name);
|
||||
|
||||
- if (!(folder = camel_store_get_folder (store, fi->full_name, 0, ex)))
|
||||
+ if (!(folder = camel_store_get_folder (store, fi->full_name, 0, error)))
|
||||
return;
|
||||
|
||||
uids = camel_folder_get_uids (folder);
|
||||
@@ -1004,8 +1004,8 @@ rss_delete_rec (CamelStore *store, CamelFolderInfo *fi
|
||||
|
||||
d("do camel_store_delete_folder()\n");
|
||||
|
||||
- camel_store_delete_folder (store, fi->full_name, ex);
|
||||
- if (camel_exception_is_set (ex))
|
||||
+ camel_store_delete_folder (store, fi->full_name, error);
|
||||
+ if (error != NULL)
|
||||
return;
|
||||
|
||||
fi = fi->next;
|
||||
@@ -1013,8 +1013,9 @@ rss_delete_rec (CamelStore *store, CamelFolderInfo *fi
|
||||
}
|
||||
|
||||
void
|
||||
-rss_delete_folders (
|
||||
- CamelStore *store, const char *full_name, CamelException *ex)
|
||||
+rss_delete_folders (CamelStore *store,
|
||||
+ const char *full_name,
|
||||
+ GError **error)
|
||||
{
|
||||
guint32 flags = CAMEL_STORE_FOLDER_INFO_RECURSIVE
|
||||
| CAMEL_STORE_FOLDER_INFO_FAST
|
||||
@@ -1025,12 +1026,12 @@ rss_delete_folders (
|
||||
fi = camel_store_get_folder_info (
|
||||
store,
|
||||
full_name,
|
||||
- flags, ex);
|
||||
- if (!fi || camel_exception_is_set (ex))
|
||||
+ flags, error);
|
||||
+ if (!fi || error != NULL)
|
||||
return;
|
||||
|
||||
d("call rss_delete_rec()\n");
|
||||
- rss_delete_rec (store, fi, ex);
|
||||
+ rss_delete_rec (store, fi, error);
|
||||
camel_store_free_folder_info (store, fi);
|
||||
}
|
||||
|
||||
@@ -1407,7 +1408,7 @@ process_dialog_edit(add_feed *feed, gchar *url, gchar
|
||||
gpointer key = lookup_key(feed_name);
|
||||
gchar *prefix = NULL;
|
||||
hrfeed *saved_feed;
|
||||
- CamelException ex;
|
||||
+ GError *error = NULL;
|
||||
CamelStore *store = rss_component_peek_local_store();
|
||||
GtkWidget *msg_feeds, *progress;
|
||||
|
||||
@@ -1516,21 +1517,13 @@ process_dialog_edit(add_feed *feed, gchar *url, gchar
|
||||
gchar *b = g_build_path(
|
||||
G_DIR_SEPARATOR_S,
|
||||
dir, feed->feed_name, NULL);
|
||||
- camel_exception_init (&ex);
|
||||
- camel_store_rename_folder (store, a, b, &ex);
|
||||
- if (camel_exception_is_set (&ex)) {
|
||||
-#if EVOLUTION_VERSION < 22904
|
||||
- e_error_run(GTK_WINDOW(
|
||||
- rf->preferences),
|
||||
- "mail:no-rename-folder",
|
||||
- a, b, ex.desc, NULL);
|
||||
-#else
|
||||
+ camel_store_rename_folder (store, a, b, &error);
|
||||
+ if (error != NULL) {
|
||||
e_alert_run_dialog_for_args(
|
||||
GTK_WINDOW(rf->preferences),
|
||||
"mail:no-rename-folder",
|
||||
- a, b, ex.desc, NULL);
|
||||
-#endif
|
||||
- camel_exception_clear (&ex);
|
||||
+ a, b, error->message, NULL);
|
||||
+ g_clear_error(&error);
|
||||
}
|
||||
g_free(dir);
|
||||
g_free(b);
|
@ -1,18 +0,0 @@
|
||||
$OpenBSD: patch-src_rss-config-factory_h,v 1.1 2010/09/30 16:13:32 ajacoutot Exp $
|
||||
|
||||
From 37ebcebeae4e85024ef6689266a611841b58da2e Mon Sep 17 00:00:00 2001
|
||||
From: Lucian Langa <lucilanga@gnome.org>
|
||||
Date: Fri, 09 Jul 2010 14:38:06 +0000
|
||||
Subject: adapt to GError camel modifications
|
||||
|
||||
--- src/rss-config-factory.h.orig Tue Jul 20 22:32:03 2010
|
||||
+++ src/rss-config-factory.h Thu Sep 30 17:20:07 2010
|
||||
@@ -33,7 +33,7 @@ void delete_feed_folder_alloc(gchar *old_name);
|
||||
void rss_delete_folders (
|
||||
CamelStore *store,
|
||||
const char *full_name,
|
||||
- CamelException *ex);
|
||||
+ GError **error);
|
||||
|
||||
void remove_feed_hash(gpointer name);
|
||||
void init_rss_prefs(void);
|
@ -1,68 +0,0 @@
|
||||
$OpenBSD: patch-src_rss-image_c,v 1.1 2010/09/30 16:13:32 ajacoutot Exp $
|
||||
|
||||
From 37ebcebeae4e85024ef6689266a611841b58da2e Mon Sep 17 00:00:00 2001
|
||||
From: Lucian Langa <lucilanga@gnome.org>
|
||||
Date: Fri, 09 Jul 2010 14:38:06 +0000
|
||||
Subject: adapt to GError camel modifications
|
||||
|
||||
--- src/rss-image.c.orig Tue Jul 20 22:32:03 2010
|
||||
+++ src/rss-image.c Thu Sep 30 17:20:07 2010
|
||||
@@ -84,7 +84,7 @@ update_feed_image(RDF *r)
|
||||
if (!g_file_test(feed_file, G_FILE_TEST_EXISTS)) {
|
||||
if (image) { //we need to validate image here with load_pixbuf
|
||||
CamelStream *feed_fs = camel_stream_fs_new_with_name(feed_file,
|
||||
- O_RDWR|O_CREAT, 0666);
|
||||
+ O_RDWR|O_CREAT, 0666, NULL);
|
||||
dup_auth_data(r->uri, image);
|
||||
fi->feed_fs = feed_fs;
|
||||
fi->key = g_strdup(key);
|
||||
@@ -313,9 +313,10 @@ finish_image (SoupSession *soup_sess, SoupMessage *msg
|
||||
if (msg->response_body->data) {
|
||||
camel_stream_write(user_data,
|
||||
msg->response_body->data,
|
||||
- msg->response_body->length);
|
||||
+ msg->response_body->length,
|
||||
+ NULL);
|
||||
#endif
|
||||
- camel_stream_close(user_data);
|
||||
+ camel_stream_close(user_data, NULL);
|
||||
#if (DATASERVER_VERSION >= 2031001)
|
||||
g_object_unref(user_data);
|
||||
#else
|
||||
@@ -323,8 +324,8 @@ finish_image (SoupSession *soup_sess, SoupMessage *msg
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
- camel_stream_write(user_data, pixfilebuf, pixfilelen);
|
||||
- camel_stream_close(user_data);
|
||||
+ camel_stream_write(user_data, pixfilebuf, pixfilelen, NULL);
|
||||
+ camel_stream_close(user_data, NULL);
|
||||
#if (DATASERVER_VERSION >= 2031001)
|
||||
g_object_unref(user_data);
|
||||
#else
|
||||
@@ -340,10 +341,12 @@ finish_create_icon (SoupMessage *msg, FEED_IMAGE *user
|
||||
finish_create_icon (SoupSession *soup_sess, SoupMessage *msg, FEED_IMAGE *user_data)
|
||||
#endif
|
||||
{
|
||||
- d("finish_image(): status:%d, user_data:%s\n", msg->status_code, user_data->img_file);
|
||||
+ d("finish_image(): status:%d, user_data:%s\n",
|
||||
+ msg->status_code, user_data->img_file);
|
||||
if (404 != msg->status_code) {
|
||||
- CamelStream *feed_fs = camel_stream_fs_new_with_name(user_data->img_file,
|
||||
- O_RDWR|O_CREAT, 0666);
|
||||
+ CamelStream *feed_fs = camel_stream_fs_new_with_name(
|
||||
+ user_data->img_file,
|
||||
+ O_RDWR|O_CREAT, 0666, NULL);
|
||||
finish_image(soup_sess, msg, feed_fs);
|
||||
#if (EVOLUTION_VERSION >= 22703)
|
||||
display_folder_icon(evolution_store, user_data->key);
|
||||
@@ -468,6 +471,9 @@ decode_image_cache_filename(gchar *name)
|
||||
}
|
||||
|
||||
gboolean image_is_valid(gchar *image);
|
||||
+
|
||||
+gboolean
|
||||
+file_is_image(gchar *image);
|
||||
|
||||
gboolean
|
||||
file_is_image(gchar *image)
|
@ -1,183 +0,0 @@
|
||||
$OpenBSD: patch-src_rss_c,v 1.5 2010/09/30 16:13:32 ajacoutot Exp $
|
||||
|
||||
From 37ebcebeae4e85024ef6689266a611841b58da2e Mon Sep 17 00:00:00 2001
|
||||
From: Lucian Langa <lucilanga@gnome.org>
|
||||
Date: Fri, 09 Jul 2010 14:38:06 +0000
|
||||
Subject: adapt to GError camel modifications
|
||||
|
||||
--- src/rss.c.orig Tue Jul 20 22:32:03 2010
|
||||
+++ src/rss.c Thu Sep 30 17:20:07 2010
|
||||
@@ -492,7 +492,7 @@ browser_stream_write(CamelStream *stream, gchar *base)
|
||||
GString *str = g_string_new(NULL);
|
||||
gchar *line;
|
||||
CamelStream *in = camel_stream_buffer_new(stream, CAMEL_STREAM_BUFFER_READ);
|
||||
- while ((line = camel_stream_buffer_read_line((CamelStreamBuffer *)in))) {
|
||||
+ while ((line = camel_stream_buffer_read_line((CamelStreamBuffer *)in, NULL))) {
|
||||
gchar *tmp = line;
|
||||
g_string_append(str, line);
|
||||
g_free(tmp);
|
||||
@@ -1101,7 +1101,7 @@ rss_browser_update_content (
|
||||
d("cache read\n");
|
||||
fi->create = 0;
|
||||
browser_stream_write(stream, po->website);
|
||||
- camel_stream_close(stream);
|
||||
+ camel_stream_close(stream, NULL);
|
||||
#if (DATASERVER_VERSION >= 2031001)
|
||||
g_object_unref(stream);
|
||||
#else
|
||||
@@ -1149,13 +1149,16 @@ webkit_set_preferences(void)
|
||||
g_object_set (settings, "enable-page-cache", TRUE, NULL);
|
||||
//g_object_set (settings, "auto-resize-window", TRUE, NULL);
|
||||
g_object_set (settings, "enable-plugins",
|
||||
- gconf_client_get_bool(rss_gconf, GCONF_KEY_EMBED_PLUGIN, NULL),
|
||||
+ gconf_client_get_bool(rss_gconf,
|
||||
+ GCONF_KEY_EMBED_PLUGIN, NULL),
|
||||
NULL);
|
||||
g_object_set (settings, "enable-java-applet",
|
||||
- gconf_client_get_bool(rss_gconf, GCONF_KEY_HTML_JAVA, NULL),
|
||||
+ gconf_client_get_bool(rss_gconf,
|
||||
+ GCONF_KEY_HTML_JAVA, NULL),
|
||||
NULL);
|
||||
g_object_set (settings, "enable-scripts",
|
||||
- gconf_client_get_bool(rss_gconf, GCONF_KEY_HTML_JS, NULL),
|
||||
+ gconf_client_get_bool(rss_gconf,
|
||||
+ GCONF_KEY_HTML_JS, NULL),
|
||||
NULL);
|
||||
#endif
|
||||
webkit_web_view_set_full_content_zoom(
|
||||
@@ -2289,7 +2292,8 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHook
|
||||
#endif
|
||||
camel_data_wrapper_write_to_stream(
|
||||
mcontent,
|
||||
- (CamelStream *)stream);
|
||||
+ (CamelStream *)stream,
|
||||
+ NULL);
|
||||
g_byte_array_append (buffer, (unsigned char *)"", 1);
|
||||
//#ifdef EVOLUTION_2_12 //aparently this ("?" char parsing) is fixed in 2.12
|
||||
// //then again this does not work in evo > 2.12 perhaps is gtkhtml related
|
||||
@@ -2485,7 +2489,7 @@ render_body: if (category)
|
||||
}
|
||||
|
||||
//this is required for proper charset rendering when html
|
||||
- camel_data_wrapper_construct_from_stream(dw, fstream);
|
||||
+ camel_data_wrapper_construct_from_stream(dw, fstream, NULL);
|
||||
#if EVOLUTION_VERSION >= 23100
|
||||
camel_medium_set_content((CamelMedium *)part, dw);
|
||||
#else
|
||||
@@ -3634,7 +3638,7 @@ finish_website (SoupSession *soup_sess, SoupMessage *m
|
||||
g_free(tmsg);
|
||||
if (ub->create) {
|
||||
//stream remove
|
||||
- camel_stream_close(ub->stream);
|
||||
+ camel_stream_close(ub->stream, NULL);
|
||||
#if (DATASERVER_VERSION >= 2031001)
|
||||
g_object_unref(ub->stream);
|
||||
#else
|
||||
@@ -3643,8 +3647,8 @@ finish_website (SoupSession *soup_sess, SoupMessage *m
|
||||
}
|
||||
} else {
|
||||
if (ub->create) {
|
||||
- camel_stream_write(ub->stream, response->str, strlen(response->str));
|
||||
- camel_stream_close(ub->stream);
|
||||
+ camel_stream_write(ub->stream, response->str, strlen(response->str), NULL);
|
||||
+ camel_stream_close(ub->stream, NULL);
|
||||
#if (DATASERVER_VERSION >= 2031001)
|
||||
g_object_unref(ub->stream);
|
||||
#else
|
||||
@@ -4102,7 +4106,7 @@ check_feed_folder(gchar *folder_name)
|
||||
void
|
||||
rss_delete_feed(gchar *full_path, gboolean folder)
|
||||
{
|
||||
- CamelException ex;
|
||||
+ GError *error = NULL;
|
||||
gchar *tmp, *tkey, *url;
|
||||
CamelStore *store;
|
||||
gchar *name, *real_name, *buf, *feed_dir, *feed_name;
|
||||
@@ -4115,24 +4119,15 @@ rss_delete_feed(gchar *full_path, gboolean folder)
|
||||
real_name = g_hash_table_lookup(rf->feed_folders, name);
|
||||
if (!real_name)
|
||||
real_name = name;
|
||||
- camel_exception_init (&ex);
|
||||
- rss_delete_folders (store, full_path, &ex);
|
||||
- if (camel_exception_is_set (&ex)) {
|
||||
-#if EVOLUTION_VERSION < 22904
|
||||
- e_error_run(NULL,
|
||||
- "mail:no-delete-folder",
|
||||
- full_path,
|
||||
- ex.desc,
|
||||
- NULL);
|
||||
-#else
|
||||
+ rss_delete_folders (store, full_path, &error);
|
||||
+ if (error != NULL) {
|
||||
e_alert_run_dialog_for_args(
|
||||
e_shell_get_active_window (NULL),
|
||||
"mail:no-delete-folder",
|
||||
full_path,
|
||||
- ex.desc,
|
||||
+ error->message,
|
||||
NULL);
|
||||
-#endif
|
||||
- camel_exception_clear (&ex);
|
||||
+ g_clear_error(&error);
|
||||
}
|
||||
//also remove status file
|
||||
tkey = g_hash_table_lookup(rf->hrname,
|
||||
@@ -4558,7 +4553,6 @@ void org_gnome_cooly_rss_startup(void *ep, ESEventTarg
|
||||
void
|
||||
check_folders(void)
|
||||
{
|
||||
- CamelException ex;
|
||||
CamelStore *store = rss_component_peek_local_store();
|
||||
CamelFolder *mail_folder, *old_folder;
|
||||
|
||||
@@ -4573,7 +4567,7 @@ check_folders(void)
|
||||
} else if (mail_folder == NULL) {
|
||||
camel_store_create_folder (
|
||||
store, NULL,
|
||||
- lookup_main_folder(), &ex);
|
||||
+ lookup_main_folder(), NULL);
|
||||
return;
|
||||
}
|
||||
#if (DATASERVER_VERSION >= 2031001)
|
||||
@@ -5100,7 +5094,6 @@ create_mail(create_feed *CF)
|
||||
CamelMimeMessage *new = camel_mime_message_new();
|
||||
CamelInternetAddress *addr;
|
||||
CamelMessageInfo *info;
|
||||
- CamelException *ex = NULL;
|
||||
struct tm tm;
|
||||
time_t time, actual_time;
|
||||
CamelDataWrapper *rtext;
|
||||
@@ -5220,7 +5213,7 @@ create_mail(create_feed *CF)
|
||||
stream = camel_stream_mem_new ();
|
||||
// w/out an format argument this throws and seg fault
|
||||
camel_stream_printf (stream, "%s", CF->body);
|
||||
- camel_data_wrapper_construct_from_stream (rtext, stream);
|
||||
+ camel_data_wrapper_construct_from_stream (rtext, stream, NULL);
|
||||
#if (DATASERVER_VERSION >= 2031001)
|
||||
g_object_unref (stream);
|
||||
#else
|
||||
@@ -5311,7 +5304,7 @@ create_mail(create_feed *CF)
|
||||
camel_medium_set_content_object(CAMEL_MEDIUM(new), CAMEL_DATA_WRAPPER(rtext));
|
||||
#endif
|
||||
|
||||
- camel_folder_append_message(mail_folder, new, info, &appended_uid, ex);
|
||||
+ camel_folder_append_message(mail_folder, new, info, &appended_uid, NULL);
|
||||
|
||||
/* no point in filtering mails at import time as it just
|
||||
* wastes time, user can setup his own afterwards
|
||||
@@ -5372,12 +5365,13 @@ file_to_message(const char *filename)
|
||||
file = (CamelStreamFs *)
|
||||
camel_stream_fs_new_with_name(filename,
|
||||
O_RDWR|O_CREAT,
|
||||
- 0666);
|
||||
+ 0666,
|
||||
+ NULL);
|
||||
|
||||
if (!file)
|
||||
return NULL;
|
||||
|
||||
- camel_data_wrapper_construct_from_stream(content, (CamelStream *)file);
|
||||
+ camel_data_wrapper_construct_from_stream(content, (CamelStream *)file, NULL);
|
||||
#if (DATASERVER_VERSION >= 2031001)
|
||||
g_object_unref((CamelObject *)file);
|
||||
#else
|
Loading…
x
Reference in New Issue
Block a user