about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-06-17 19:49:55 +0100
committerJames Booth <boothj5@gmail.com>2015-06-17 19:49:55 +0100
commite00a03f91697acda69e576e68733ba8c13c0fec4 (patch)
treecfb9ebafcdde7dfb666b25c6053285dc727c7816 /src
parenta798dc5618580265e60f93be091b649b4bf86dee (diff)
downloadprofani-tty-e00a03f91697acda69e576e68733ba8c13c0fec4.tar.gz
Removed wins_get_current_* functions
Diffstat (limited to 'src')
-rw-r--r--src/command/command.c27
-rw-r--r--src/command/commands.c117
-rw-r--r--src/muc.c4
-rw-r--r--src/profanity.c4
-rw-r--r--src/window_list.c68
-rw-r--r--src/window_list.h4
6 files changed, 102 insertions, 122 deletions
diff --git a/src/command/command.c b/src/command/command.c
index 573c9393..ddece326 100644
--- a/src/command/command.c
+++ b/src/command/command.c
@@ -1810,7 +1810,8 @@ cmd_reset_autocomplete(ProfWin *window)
     autocomplete_reset(receipts_ac);
 
     if (window->type == WIN_CHAT) {
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         PContact contact = roster_get_contact(chatwin->barejid);
         if (contact) {
             p_contact_resource_ac_reset(contact);
@@ -1818,13 +1819,15 @@ cmd_reset_autocomplete(ProfWin *window)
     }
 
     if (window->type == WIN_MUC) {
-        ProfMucWin *mucwin = wins_get_current_muc();
+        ProfMucWin *mucwin = (ProfMucWin*)window;
+        assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
         muc_autocomplete_reset(mucwin->roomjid);
         muc_jid_autocomplete_reset(mucwin->roomjid);
     }
 
     if (window->type == WIN_MUC_CONFIG) {
-        ProfMucConfWin *confwin = wins_get_current_muc_conf();
+        ProfMucConfWin *confwin = (ProfMucConfWin*)window;
+        assert(confwin->memcheck == PROFCONFWIN_MEMCHECK);
         if (confwin->form) {
             form_reset_autocompleters(confwin->form);
         }
@@ -1938,7 +1941,8 @@ _cmd_complete_parameters(ProfWin *window, const char * const input)
 
     // autocomplete nickname in chat rooms
     if (window->type == WIN_MUC) {
-        ProfMucWin *mucwin = wins_get_current_muc();
+        ProfMucWin *mucwin = (ProfMucWin*)window;
+        assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
         Autocomplete nick_ac = muc_roster_ac(mucwin->roomjid);
         if (nick_ac) {
             gchar *nick_choices[] = { "/msg", "/info", "/caps", "/status", "/software" } ;
@@ -2477,7 +2481,8 @@ _resource_autocomplete(ProfWin *window, const char * const input)
     char *found = NULL;
 
     if (window->type == WIN_CHAT) {
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         PContact contact = roster_get_contact(chatwin->barejid);
         if (contact) {
             Autocomplete ac = p_contact_resource_ac(contact);
@@ -2705,7 +2710,8 @@ _kick_autocomplete(ProfWin *window, const char * const input)
     char *result = NULL;
 
     if (window->type == WIN_MUC) {
-        ProfMucWin *mucwin = wins_get_current_muc();
+        ProfMucWin *mucwin = (ProfMucWin*)window;
+        assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
         Autocomplete nick_ac = muc_roster_ac(mucwin->roomjid);
 
         if (nick_ac) {
@@ -2725,7 +2731,8 @@ _ban_autocomplete(ProfWin *window, const char * const input)
     char *result = NULL;
 
     if (window->type == WIN_MUC) {
-        ProfMucWin *mucwin = wins_get_current_muc();
+        ProfMucWin *mucwin = (ProfMucWin*)window;
+        assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
         Autocomplete jid_ac = muc_roster_jid_ac(mucwin->roomjid);
 
         if (jid_ac) {
@@ -2745,7 +2752,8 @@ _affiliation_autocomplete(ProfWin *window, const char * const input)
     char *result = NULL;
 
     if (window->type == WIN_MUC) {
-        ProfMucWin *mucwin = wins_get_current_muc();
+        ProfMucWin *mucwin = (ProfMucWin*)window;
+        assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
         gboolean parse_result;
         Autocomplete jid_ac = muc_roster_jid_ac(mucwin->roomjid);
 
@@ -2792,7 +2800,8 @@ _role_autocomplete(ProfWin *window, const char * const input)
     char *result = NULL;
 
     if (window->type == WIN_MUC) {
-        ProfMucWin *mucwin = wins_get_current_muc();
+        ProfMucWin *mucwin = (ProfMucWin*)window;
+        assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
         gboolean parse_result;
         Autocomplete nick_ac = muc_roster_ac(mucwin->roomjid);
 
diff --git a/src/command/commands.c b/src/command/commands.c
index 0360bb9f..b7b9c73a 100644
--- a/src/command/commands.c
+++ b/src/command/commands.c
@@ -108,19 +108,22 @@ cmd_execute_default(ProfWin *window, const char * inp)
     switch (window->type) {
     case WIN_CHAT:
     {
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         cl_ev_send_msg(chatwin, inp);
         break;
     }
     case WIN_PRIVATE:
     {
-        ProfPrivateWin *privatewin = wins_get_current_private();
+        ProfPrivateWin *privatewin = (ProfPrivateWin*)window;
+        assert(privatewin->memcheck == PROFPRIVATEWIN_MEMCHECK);
         cl_ev_send_priv_msg(privatewin, inp);
         break;
     }
     case WIN_MUC:
     {
-        ProfMucWin *mucwin = wins_get_current_muc();
+        ProfMucWin *mucwin = (ProfMucWin*)window;
+        assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
         cl_ev_send_muc_msg(mucwin, inp);
         break;
     }
@@ -600,7 +603,8 @@ cmd_sub(ProfWin *window, gchar **args, struct cmd_help_t help)
     }
 
     if (jid == NULL) {
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         jid = chatwin->barejid;
     }
 
@@ -968,7 +972,8 @@ _who_room(ProfWin *window, gchar **args, struct cmd_help_t help)
         return;
     }
 
-    ProfMucWin *mucwin = wins_get_current_muc();
+    ProfMucWin *mucwin = (ProfMucWin*)window;
+    assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
 
     // presence filter
     if (args[0] == NULL ||
@@ -1316,7 +1321,8 @@ cmd_msg(ProfWin *window, gchar **args, struct cmd_help_t help)
 
     // send private message when in MUC room
     if (window->type == WIN_MUC) {
-        ProfMucWin *mucwin = wins_get_current_muc();
+        ProfMucWin *mucwin = (ProfMucWin*)window;
+        assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
         if (muc_roster_contains_nick(mucwin->roomjid, usr)) {
             GString *full_jid = g_string_new(mucwin->roomjid);
             g_string_append(full_jid, "/");
@@ -1789,7 +1795,8 @@ cmd_status(ProfWin *window, gchar **args, struct cmd_help_t help)
     {
         case WIN_MUC:
             if (usr) {
-                ProfMucWin *mucwin = wins_get_current_muc();
+                ProfMucWin *mucwin = (ProfMucWin*)window;
+                assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
                 Occupant *occupant = muc_roster_item(mucwin->roomjid, usr);
                 if (occupant) {
                     win_show_occupant(window, occupant);
@@ -1804,7 +1811,8 @@ cmd_status(ProfWin *window, gchar **args, struct cmd_help_t help)
             if (usr) {
                 ui_current_print_line("No parameter required when in chat.");
             } else {
-                ProfChatWin *chatwin = wins_get_current_chat();
+                ProfChatWin *chatwin = (ProfChatWin*)window;
+                assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
                 PContact pcontact = roster_get_contact(chatwin->barejid);
                 if (pcontact) {
                     win_show_contact(window, pcontact);
@@ -1817,7 +1825,8 @@ cmd_status(ProfWin *window, gchar **args, struct cmd_help_t help)
             if (usr) {
                 ui_current_print_line("No parameter required when in chat.");
             } else {
-                ProfPrivateWin *privatewin = wins_get_current_private();
+                ProfPrivateWin *privatewin = (ProfPrivateWin*)window;
+                assert(privatewin->memcheck == PROFPRIVATEWIN_MEMCHECK);
                 Jid *jid = jid_create(privatewin->fulljid);
                 Occupant *occupant = muc_roster_item(jid->barejid, jid->resourcepart);
                 if (occupant) {
@@ -1863,7 +1872,8 @@ cmd_info(ProfWin *window, gchar **args, struct cmd_help_t help)
     {
         case WIN_MUC:
             if (usr) {
-                ProfMucWin *mucwin = wins_get_current_muc();
+                ProfMucWin *mucwin = (ProfMucWin*)window;
+                assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
                 Occupant *occupant = muc_roster_item(mucwin->roomjid, usr);
                 if (occupant) {
                     win_show_occupant_info(window, mucwin->roomjid, occupant);
@@ -1871,7 +1881,8 @@ cmd_info(ProfWin *window, gchar **args, struct cmd_help_t help)
                     ui_current_print_line("No such occupant \"%s\" in room.", usr);
                 }
             } else {
-                ProfMucWin *mucwin = wins_get_current_muc();
+                ProfMucWin *mucwin = (ProfMucWin*)window;
+                assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
                 iq_room_info_request(mucwin->roomjid, TRUE);
                 ui_show_room_info(mucwin);
                 return TRUE;
@@ -1881,7 +1892,8 @@ cmd_info(ProfWin *window, gchar **args, struct cmd_help_t help)
             if (usr) {
                 ui_current_print_line("No parameter required when in chat.");
             } else {
-                ProfChatWin *chatwin = wins_get_current_chat();
+                ProfChatWin *chatwin = (ProfChatWin*)window;
+                assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
                 PContact pcontact = roster_get_contact(chatwin->barejid);
                 if (pcontact) {
                     win_show_info(window, pcontact);
@@ -1894,7 +1906,8 @@ cmd_info(ProfWin *window, gchar **args, struct cmd_help_t help)
             if (usr) {
                 ui_current_print_line("No parameter required when in chat.");
             } else {
-                ProfPrivateWin *privatewin = wins_get_current_private();
+                ProfPrivateWin *privatewin = (ProfPrivateWin*)window;
+                assert(privatewin->memcheck == PROFPRIVATEWIN_MEMCHECK);
                 Jid *jid = jid_create(privatewin->fulljid);
                 Occupant *occupant = muc_roster_item(jid->barejid, jid->resourcepart);
                 if (occupant) {
@@ -1944,7 +1957,8 @@ cmd_caps(ProfWin *window, gchar **args, struct cmd_help_t help)
     {
         case WIN_MUC:
             if (args[0]) {
-                ProfMucWin *mucwin = wins_get_current_muc();
+                ProfMucWin *mucwin = (ProfMucWin*)window;
+                assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
                 occupant = muc_roster_item(mucwin->roomjid, args[0]);
                 if (occupant) {
                     Jid *jidp = jid_create_from_bare_and_resource(mucwin->roomjid, args[0]);
@@ -1986,7 +2000,8 @@ cmd_caps(ProfWin *window, gchar **args, struct cmd_help_t help)
             if (args[0]) {
                 cons_show("No parameter needed to /caps when in private chat.");
             } else {
-                ProfPrivateWin *privatewin = wins_get_current_private();
+                ProfPrivateWin *privatewin = (ProfPrivateWin*)window;
+                assert(privatewin->memcheck == PROFPRIVATEWIN_MEMCHECK);
                 Jid *jid = jid_create(privatewin->fulljid);
                 if (jid) {
                     occupant = muc_roster_item(jid->barejid, jid->resourcepart);
@@ -2018,7 +2033,8 @@ cmd_software(ProfWin *window, gchar **args, struct cmd_help_t help)
     {
         case WIN_MUC:
             if (args[0]) {
-                ProfMucWin *mucwin = wins_get_current_muc();
+                ProfMucWin *mucwin = (ProfMucWin*)window;
+                assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
                 occupant = muc_roster_item(mucwin->roomjid, args[0]);
                 if (occupant) {
                     Jid *jid = jid_create_from_bare_and_resource(mucwin->roomjid, args[0]);
@@ -2050,7 +2066,8 @@ cmd_software(ProfWin *window, gchar **args, struct cmd_help_t help)
             if (args[0]) {
                 cons_show("No parameter needed to /software when in private chat.");
             } else {
-                ProfPrivateWin *privatewin = wins_get_current_private();
+                ProfPrivateWin *privatewin = (ProfPrivateWin*)window;
+                assert(privatewin->memcheck == PROFPRIVATEWIN_MEMCHECK);
                 iq_send_software_version(privatewin->fulljid);
             }
             break;
@@ -2180,7 +2197,8 @@ cmd_invite(ProfWin *window, gchar **args, struct cmd_help_t help)
         usr_jid = contact;
     }
 
-    ProfMucWin *mucwin = wins_get_current_muc();
+    ProfMucWin *mucwin = (ProfMucWin*)window;
+    assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
     message_send_invite(mucwin->roomjid, usr_jid, reason);
     if (reason) {
         cons_show("Room invite sent, contact: %s, room: %s, reason: \"%s\".",
@@ -2456,7 +2474,8 @@ cmd_form(ProfWin *window, gchar **args, struct cmd_help_t help)
         return TRUE;
     }
 
-    ProfMucConfWin *confwin = wins_get_current_muc_conf();
+    ProfMucConfWin *confwin = (ProfMucConfWin*)window;
+    assert(confwin->memcheck == PROFCONFWIN_MEMCHECK);
 
     if (g_strcmp0(args[0], "show") == 0) {
         ui_show_form(confwin);
@@ -2521,7 +2540,8 @@ cmd_kick(ProfWin *window, gchar **args, struct cmd_help_t help)
         return TRUE;
     }
 
-    ProfMucWin *mucwin = wins_get_current_muc();
+    ProfMucWin *mucwin = (ProfMucWin*)window;
+    assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
 
     char *nick = args[0];
     if (nick) {
@@ -2553,7 +2573,8 @@ cmd_ban(ProfWin *window, gchar **args, struct cmd_help_t help)
         return TRUE;
     }
 
-    ProfMucWin *mucwin = wins_get_current_muc();
+    ProfMucWin *mucwin = (ProfMucWin*)window;
+    assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
 
     char *jid = args[0];
     if (jid) {
@@ -2580,7 +2601,8 @@ cmd_subject(ProfWin *window, gchar **args, struct cmd_help_t help)
         return TRUE;
     }
 
-    ProfMucWin *mucwin = wins_get_current_muc();
+    ProfMucWin *mucwin = (ProfMucWin*)window;
+    assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
 
     if (args[0] == NULL) {
         char *subject = muc_subject(mucwin->roomjid);
@@ -2643,7 +2665,8 @@ cmd_affiliation(ProfWin *window, gchar **args, struct cmd_help_t help)
         return TRUE;
     }
 
-    ProfMucWin *mucwin = wins_get_current_muc();
+    ProfMucWin *mucwin = (ProfMucWin*)window;
+    assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
 
     if (g_strcmp0(cmd, "list") == 0) {
         if (!affiliation) {
@@ -2711,7 +2734,8 @@ cmd_role(ProfWin *window, gchar **args, struct cmd_help_t help)
         return TRUE;
     }
 
-    ProfMucWin *mucwin = wins_get_current_muc();
+    ProfMucWin *mucwin = (ProfMucWin*)window;
+    assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
 
     if (g_strcmp0(cmd, "list") == 0) {
         if (!role) {
@@ -2769,7 +2793,8 @@ cmd_room(ProfWin *window, gchar **args, struct cmd_help_t help)
         return TRUE;
     }
 
-    ProfMucWin *mucwin = wins_get_current_muc();
+    ProfMucWin *mucwin = (ProfMucWin*)window;
+    assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
     int num = wins_get_num(window);
 
     int ui_index = num;
@@ -2870,7 +2895,8 @@ cmd_occupants(ProfWin *window, gchar **args, struct cmd_help_t help)
         return TRUE;
     }
 
-    ProfMucWin *mucwin = wins_get_current_muc();
+    ProfMucWin *mucwin = (ProfMucWin*)window;
+    assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
 
     if (g_strcmp0(args[0], "show") == 0) {
         if (g_strcmp0(args[1], "jid") == 0) {
@@ -2927,7 +2953,8 @@ cmd_bookmark(ProfWin *window, gchar **args, struct cmd_help_t help)
     gchar *cmd = args[0];
     if (window->type == WIN_MUC && cmd == NULL) {
         // default to current nickname, password, and autojoin "on"
-        ProfMucWin *mucwin = wins_get_current_muc();
+        ProfMucWin *mucwin = (ProfMucWin*)window;
+        assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
         char *nick = muc_nick(mucwin->roomjid);
         char *password = muc_password(mucwin->roomjid);
         gboolean added = bookmark_add(mucwin->roomjid, nick, password, "on");
@@ -3068,7 +3095,8 @@ cmd_nick(ProfWin *window, gchar **args, struct cmd_help_t help)
         return TRUE;
     }
 
-    ProfMucWin *mucwin = wins_get_current_muc();
+    ProfMucWin *mucwin = (ProfMucWin*)window;
+    assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
     char *nick = args[0];
     presence_change_room_nick(mucwin->roomjid, nick);
 
@@ -3171,19 +3199,22 @@ cmd_tiny(ProfWin *window, gchar **args, struct cmd_help_t help)
     switch (window->type){
     case WIN_CHAT:
     {
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         cl_ev_send_msg(chatwin, tiny);
         break;
     }
     case WIN_PRIVATE:
     {
-        ProfPrivateWin *privatewin = wins_get_current_private();
+        ProfPrivateWin *privatewin = (ProfPrivateWin*)window;
+        assert(privatewin->memcheck == PROFPRIVATEWIN_MEMCHECK);
         cl_ev_send_priv_msg(privatewin, tiny);
         break;
     }
     case WIN_MUC:
     {
-        ProfMucWin *mucwin = wins_get_current_muc();
+        ProfMucWin *mucwin = (ProfMucWin*)window;
+        assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
         cl_ev_send_muc_msg(mucwin, tiny);
         break;
     }
@@ -4182,7 +4213,8 @@ cmd_otr(ProfWin *window, gchar **args, struct cmd_help_t help)
             return TRUE;
         }
 
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         if (chatwin->enc_mode != PROF_ENC_OTR) {
             ui_current_print_formatted_line('!', 0, "You are not currently in an OTR session.");
             return TRUE;
@@ -4234,7 +4266,8 @@ cmd_otr(ProfWin *window, gchar **args, struct cmd_help_t help)
                 return TRUE;
             }
 
-            ProfChatWin *chatwin = wins_get_current_chat();
+            ProfChatWin *chatwin = (ProfChatWin*)window;
+            assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
             if (chatwin->enc_mode == PROF_ENC_OTR) {
                 ui_current_print_formatted_line('!', 0, "You are already in an OTR session.");
                 return TRUE;
@@ -4256,7 +4289,8 @@ cmd_otr(ProfWin *window, gchar **args, struct cmd_help_t help)
             return TRUE;
         }
 
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         if (chatwin->enc_mode != PROF_ENC_OTR) {
             ui_current_print_formatted_line('!', 0, "You are not currently in an OTR session.");
             return TRUE;
@@ -4272,7 +4306,8 @@ cmd_otr(ProfWin *window, gchar **args, struct cmd_help_t help)
             return TRUE;
         }
 
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         if (chatwin->enc_mode != PROF_ENC_OTR) {
             ui_current_print_formatted_line('!', 0, "You are not currently in an OTR session.");
             return TRUE;
@@ -4288,7 +4323,8 @@ cmd_otr(ProfWin *window, gchar **args, struct cmd_help_t help)
             return TRUE;
         }
 
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         if (chatwin->enc_mode != PROF_ENC_OTR) {
             ui_current_print_formatted_line('!', 0, "You are not currently in an OTR session.");
             return TRUE;
@@ -4304,7 +4340,8 @@ cmd_otr(ProfWin *window, gchar **args, struct cmd_help_t help)
             return TRUE;
         }
 
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         if (chatwin->enc_mode != PROF_ENC_OTR) {
             ui_current_print_formatted_line('!', 0, "You are not currently in an OTR session.");
             return TRUE;
@@ -4332,7 +4369,8 @@ cmd_otr(ProfWin *window, gchar **args, struct cmd_help_t help)
             return TRUE;
         }
 
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         if (chatwin->enc_mode != PROF_ENC_OTR) {
             ui_current_print_formatted_line('!', 0, "You are not currently in an OTR session.");
             return TRUE;
@@ -4347,7 +4385,8 @@ cmd_otr(ProfWin *window, gchar **args, struct cmd_help_t help)
             return TRUE;
         }
 
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)window;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         if (chatwin->enc_mode != PROF_ENC_OTR) {
             ui_current_print_formatted_line('!', 0, "You are not currently in an OTR session.");
             return TRUE;
diff --git a/src/muc.c b/src/muc.c
index 6fa548bc..4474976d 100644
--- a/src/muc.c
+++ b/src/muc.c
@@ -34,6 +34,7 @@
 
 #include <stdlib.h>
 #include <string.h>
+#include <assert.h>
 
 #include <glib.h>
 
@@ -666,7 +667,8 @@ char *
 muc_autocomplete(ProfWin *window, const char * const input)
 {
     if (window->type == WIN_MUC) {
-        ProfMucWin *mucwin = wins_get_current_muc();
+        ProfMucWin *mucwin = (ProfMucWin*)window;
+        assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
         ChatRoom *chat_room = g_hash_table_lookup(rooms, mucwin->roomjid);
 
         if (chat_room && chat_room->nick_ac) {
diff --git a/src/profanity.c b/src/profanity.c
index af9bbe74..0e11a933 100644
--- a/src/profanity.c
+++ b/src/profanity.c
@@ -41,6 +41,7 @@
 #include <signal.h>
 #include <stdlib.h>
 #include <string.h>
+#include <assert.h>
 
 #include <glib.h>
 
@@ -134,7 +135,8 @@ prof_handle_activity(void)
     ProfWin *current = wins_get_current();
 
     if ((status == JABBER_CONNECTED) && (current->type == WIN_CHAT)) {
-        ProfChatWin *chatwin = wins_get_current_chat();
+        ProfChatWin *chatwin = (ProfChatWin*)current;
+        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
         chat_state_handle_typing(chatwin->barejid, chatwin->state);
     }
 }
diff --git a/src/window_list.c b/src/window_list.c
index ff040d63..2892cc53 100644
--- a/src/window_list.c
+++ b/src/window_list.c
@@ -167,74 +167,6 @@ wins_get_current(void)
     }
 }
 
-ProfChatWin *
-wins_get_current_chat(void)
-{
-    if (windows) {
-        ProfWin *window = g_hash_table_lookup(windows, GINT_TO_POINTER(current));
-        if (window) {
-            ProfChatWin *chatwin = (ProfChatWin*)window;
-            assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
-            return chatwin;
-        } else {
-            return NULL;
-        }
-    } else {
-        return NULL;
-    }
-}
-
-ProfMucWin *
-wins_get_current_muc(void)
-{
-    if (windows) {
-        ProfWin *window = g_hash_table_lookup(windows, GINT_TO_POINTER(current));
-        if (window) {
-            ProfMucWin *mucwin = (ProfMucWin*)window;
-            assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
-            return mucwin;
-        } else {
-            return NULL;
-        }
-    } else {
-        return NULL;
-    }
-}
-
-ProfPrivateWin *
-wins_get_current_private(void)
-{
-    if (windows) {
-        ProfWin *window = g_hash_table_lookup(windows, GINT_TO_POINTER(current));
-        if (window) {
-            ProfPrivateWin *privatewin = (ProfPrivateWin*)window;
-            assert(privatewin->memcheck == PROFPRIVATEWIN_MEMCHECK);
-            return privatewin;
-        } else {
-            return NULL;
-        }
-    } else {
-        return NULL;
-    }
-}
-
-ProfMucConfWin *
-wins_get_current_muc_conf(void)
-{
-    if (windows) {
-        ProfWin *window = g_hash_table_lookup(windows, GINT_TO_POINTER(current));
-        if (window) {
-            ProfMucConfWin *confwin = (ProfMucConfWin*)window;
-            assert(confwin->memcheck == PROFCONFWIN_MEMCHECK);
-            return confwin;
-        } else {
-            return NULL;
-        }
-    } else {
-        return NULL;
-    }
-}
-
 GList *
 wins_get_nums(void)
 {
diff --git a/src/window_list.h b/src/window_list.h
index 8e8e72eb..74073bd6 100644
--- a/src/window_list.h
+++ b/src/window_list.h
@@ -53,10 +53,6 @@ ProfPrivateWin *wins_get_private(const char * const fulljid);
 ProfXMLWin * wins_get_xmlconsole(void);
 
 ProfWin * wins_get_current(void);
-ProfChatWin * wins_get_current_chat(void);
-ProfMucWin * wins_get_current_muc(void);
-ProfPrivateWin * wins_get_current_private(void);
-ProfMucConfWin * wins_get_current_muc_conf(void);
 
 void wins_set_current_by_num(int i);