#
# old_revision [adf75e16803f48adaeb629054074f52e928b0792]
#
# patch "pidgin/gtkconv.c"
#  from [7057bf38b1eb4bf08b1b783e3a81aa95fdd56a8a]
#    to [91eada59f54bf4fe5f86387630366c34601e853a]
#
============================================================
--- pidgin/gtkconv.c	7057bf38b1eb4bf08b1b783e3a81aa95fdd56a8a
+++ pidgin/gtkconv.c	91eada59f54bf4fe5f86387630366c34601e853a
@@ -2284,6 +2284,8 @@ insert_text_cb(GtkTextBuffer *textbuffer
 {
 	PidginConversation *gtkconv = (PidginConversation *)user_data;
 	PurpleConversation *conv;
+	PurpleConnection *gc;
+	PurplePluginProtocolInfo *prpl_info = NULL;
 
 	g_return_if_fail(gtkconv != NULL);
 
@@ -2292,6 +2294,23 @@ insert_text_cb(GtkTextBuffer *textbuffer
 	if (!purple_prefs_get_bool("/purple/conversations/im/send_typing"))
 		return;
 
+	if ((gc = purple_conversation_get_gc(conv)))
+		prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
+
+	if ((prpl_info != NULL) && (prpl_info->options & OPT_PROTO_SLASH_COMMANDS_NATIVE)) {
+		const char *prefix;
+		char *cmd;
+
+		prefix = pidgin_get_cmd_prefix();
+		cmd = gtk_imhtml_get_text(GTK_IMHTML(textbuffer), NULL, NULL);
+
+		if (cmd && (strncmp(cmd, prefix, strlen(prefix)) == 0)) {
+			g_free(cmd);
+			return;
+		}
+		g_free(cmd);
+	}
+
 	got_typing_keypress(gtkconv, (gtk_text_iter_is_start(position) &&
 	                    gtk_text_iter_is_end(position)));
 }