libpurple/purplegio.c

changeset 43010
9a3485b096c8
parent 42594
eddde70cedd8
child 43253
0cc00d7d6215
equal deleted inserted replaced
43009:df1a36761198 43010:9a3485b096c8
20 * this library; if not, see <https://www.gnu.org/licenses/>. 20 * this library; if not, see <https://www.gnu.org/licenses/>.
21 */ 21 */
22 22
23 #include "purplegio.h" 23 #include "purplegio.h"
24 24
25 #include "core.h"
25 #include "debug.h" 26 #include "debug.h"
27 #include "network.h"
26 #include "prefs.h" 28 #include "prefs.h"
27 #include "proxy.h" 29 #include "proxy.h"
28 30
29 typedef struct { 31 typedef struct {
30 GIOStream *stream; 32 GIOStream *stream;
138 guint16 140 guint16
139 purple_socket_listener_add_any_inet_port(GSocketListener *listener, 141 purple_socket_listener_add_any_inet_port(GSocketListener *listener,
140 GObject *source_object, 142 GObject *source_object,
141 GError **error) 143 GError **error)
142 { 144 {
145 GSettings *settings = NULL;
143 GError *internal_error = NULL; 146 GError *internal_error = NULL;
144 guint16 port, start, end; 147 guint16 port, start, end;
145 148
146 if(!purple_prefs_get_bool("/purple/network/ports_range_use")) { 149 settings = g_settings_new_with_backend("im.pidgin.Purple.Network.Ports.Manual",
150 purple_core_get_settings_backend());
151
152 if(!g_settings_get_boolean(settings, "enabled")) {
153 g_object_unref(settings);
154
147 return g_socket_listener_add_any_inet_port(listener, source_object, 155 return g_socket_listener_add_any_inet_port(listener, source_object,
148 error); 156 error);
149 } 157 }
150 158
151 start = purple_prefs_get_int("/purple/network/ports_range_start"); 159 start = g_settings_get_int(settings, "start");
152 end = purple_prefs_get_int("/purple/network/ports_range_end"); 160 end = g_settings_get_int(settings, "end");
161 g_clear_object(&settings);
162
153 for(port = start; port <= end; port++) { 163 for(port = start; port <= end; port++) {
154 if (g_socket_listener_add_inet_port(listener, port, source_object, 164 if (g_socket_listener_add_inet_port(listener, port, source_object,
155 &internal_error)) 165 &internal_error))
156 { 166 {
157 return port; 167 return port;

mercurial