pkgsrc - initial commit
[pkgsrc.git] / audio / gbemol / patches / patch-ad
1 $NetBSD: patch-ad,v 1.1 2009/09/03 01:29:34 joerg Exp $
2
3 --- src/gbemol-mpd.c.orig       2009-04-25 04:38:51.000000000 +0200
4 +++ src/gbemol-mpd.c
5 @@ -2,6 +2,7 @@
6  
7  #include "gbemol-mpd.h"
8  #include "gbemol-marshal.h"
9 +#include "gbemol-utils.h"
10  
11  /* Properties */
12  enum {
13 @@ -454,51 +455,31 @@ gboolean gbemol_mpd_connect (GbemolMpd* 
14         obj->priv->conn = mpd_newConnection (obj->priv->host, obj->priv->port, obj->priv->timeout);
15         
16         if (gbemol_mpd_finish_and_handle (obj))
17 -               obj->priv->connected = FALSE;
18 -       else
19 -       {
20 -               gbemol_mpd_get_not_commands_list (obj);
21 -               if (obj->status)
22 -                       mpd_freeStatus (obj->status);
23 -               obj->status = gbemol_mpd_get_status (obj);
24 -               obj->priv->connected = TRUE;
25 -               /* Emit a song-changed signal */
26 -               g_signal_emit (obj, gbemol_mpd_signals [SONG_CHANGED_SIGNAL], 0, NULL);
27 -       }
28 -
29 -       return obj->priv->connected;
30 -}
31 -
32 -/* Connect */
33 -gboolean gbemol_mpd_connect_and_authenticate (GbemolMpd* obj)
34 -{
35 -       if (obj->priv->conn)
36 -               mpd_closeConnection (obj->priv->conn);
37 -
38 -       obj->priv->conn = mpd_newConnection (obj->priv->host, obj->priv->port, obj->priv->timeout);
39 -       
40 -       if (gbemol_mpd_finish_and_handle (obj))
41         {
42                 obj->priv->connected = FALSE;
43                 return FALSE;
44         }
45 -       else
46 -               obj->priv->connected = TRUE;
47  
48 -       /* Not authenticated, yet connected, so return TRUE, but mark as disconnected */
49 -       if (!gbemol_mpd_authenticate (obj))
50 -               obj->priv->connected = FALSE;
51 -       else
52 +       if (gbemol_cfg_get_bool("mpd", "use_auth"))
53         {
54 -               gbemol_mpd_get_not_commands_list (obj);
55 -               if (obj->status)
56 -                       mpd_freeStatus (obj->status);
57 -               obj->status = gbemol_mpd_get_status (obj);
58 -               /* Emit a song-changed signal */
59 -               g_signal_emit (obj, gbemol_mpd_signals [SONG_CHANGED_SIGNAL], 0, NULL);
60 +               if (!obj->priv->pass)
61 +                       obj->priv->pass = gbemol_cfg_get_string("mpd", "pass");
62 +               if (!obj->priv->pass || !gbemol_mpd_authenticate (obj))
63 +               {
64 +                       obj->priv->connected = FALSE;
65 +                       return FALSE;           
66 +               }
67         }
68  
69 -       return TRUE;
70 +       gbemol_mpd_get_not_commands_list (obj);
71 +       if (obj->status)
72 +               mpd_freeStatus (obj->status);
73 +       obj->status = gbemol_mpd_get_status (obj);
74 +       obj->priv->connected = TRUE;
75 +       /* Emit a song-changed signal */
76 +       g_signal_emit (obj, gbemol_mpd_signals [SONG_CHANGED_SIGNAL], 0, NULL);
77 +
78 +       return obj->priv->connected;
79  }
80  
81  void gbemol_mpd_disconnect (GbemolMpd *obj)