Changeset 8178


Ignore:
Timestamp:
Apr 7, 2009, 11:44:38 PM (13 years ago)
Author:
charles
Message:

use one of the stock g_cclosure marshallers instead of rolling our own for emitting error events

Location:
trunk/gtk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/gtk/main.c

    r8174 r8178  
    140140                               gpointer          gdata );
    141141
    142 static void           coreerr( TrCore *         core,
    143                                enum tr_core_err code,
    144                                const char *     msg,
    145                                gpointer         gdata );
     142static void coreerr( TrCore *, guint, const char *, struct cbdata * );
    146143
    147144static void           onAddTorrent( TrCore *,
     
    862859
    863860static void
    864 coreerr( TrCore * core    UNUSED,
    865          enum tr_core_err code,
    866          const char *     msg,
    867          gpointer         gdata )
    868 {
    869     struct cbdata * c = gdata;
    870 
     861coreerr( TrCore * core UNUSED, guint code, const char * msg, struct cbdata * c )
     862{
    871863    switch( code )
    872864    {
  • trunk/gtk/tr-core.c

    r8174 r8178  
    7272};
    7373
    74 static void
    75 tr_core_marshal_err( GClosure *     closure,
    76                      GValue * ret   UNUSED,
    77                      guint          count,
    78                      const GValue * vals,
    79                      gpointer hint  UNUSED,
    80                      gpointer       marshal )
    81 {
    82     typedef void ( *TRMarshalErr )
    83                                 ( gpointer, enum tr_core_err, const char *,
    84                                 gpointer );
    85     TRMarshalErr     callback;
    86     GCClosure *      cclosure = (GCClosure*) closure;
    87     enum tr_core_err errcode;
    88     const char *     errstr;
    89     gpointer         inst, gdata;
    90 
    91     g_return_if_fail( count == 3 );
    92 
    93     inst    = g_value_peek_pointer( vals );
    94     errcode = g_value_get_int( vals + 1 );
    95     errstr  = g_value_get_string( vals + 2 );
    96     gdata   = closure->data;
    97 
    98     callback = (TRMarshalErr)( marshal ? marshal : cclosure->callback );
    99     callback( inst, errcode, errstr, gdata );
    100 }
    101 
    10274static int
    10375isDisposed( const TrCore * core )
     
    156128                               G_SIGNAL_RUN_LAST,
    157129                               0, NULL, NULL,
    158                                tr_core_marshal_err,
     130                               g_cclosure_marshal_VOID__UINT_POINTER,
    159131                               G_TYPE_NONE,
    160                                2, G_TYPE_INT, G_TYPE_STRING );
     132                               2, G_TYPE_UINT, G_TYPE_POINTER );
    161133
    162134    cc->promptsig = g_signal_new( "add-torrent-prompt",
Note: See TracChangeset for help on using the changeset viewer.