Make PurpleConnection derivable, which also means adding a private structure.

Review Request #1894 — Created Oct. 5, 2022 and submitted

Information

pidgin/pidgin
default

Reviewers

I also, probably stupidly renamed all the gc variables to connection.

Connected and disconnected a demo account, an irc account, and an xmpp account and verified no issues and nothing in the console.

Summary ID
Make PurpleConnection derivable, which also means adding a private structure.
I also, probably stupidly renamed all the gc variables to connection.
162794833a318fa80cea0da90ac6ce6c29de873e
Description From Last Updated

Can remove this newline.

QuLogicQuLogic

Can remove this newline.

QuLogicQuLogic

Looks like tabs?

QuLogicQuLogic
ivanhoe
  1. 
      
  2. libpurple/connection.c (Diff revision 1)
     
     

    Is the is_finalizing guard not necessary anymore? Same question for old line 223.

    1. These were added in https://keep.imfreedom.org/pidgin/pidgin/rev/2033f0755d68 which mentions "There may be a better fix possible, though" and that better fix is to just not notify from your destroy or finalize methods. We typically avoid this by not calling the setters from the aforementioned functions.

      However, I'm getting all sorts of fun crashes on connection errors now. So I'm going to revert this particular change and we can try to fix it seprately at a later time.

    2. Upon further debugging, the crash is not related to this pull request in particular. I'll update more when I know more.

    3. I rebased on top of /r/1896 and saw no gobject warnings during shutdown. I did hit a invalid free in upnp_init but that's called LONG after connections are shutdown.

  3. 
      
QuLogic
  1. 
      
  2. libpurple/connection.c (Diff revision 1)
     
     
    Show all issues

    Can remove this newline.

  3. libpurple/connection.c (Diff revision 1)
     
     
    Show all issues

    Can remove this newline.

  4. libpurple/connection.c (Diff revision 1)
     
     
     
    Show all issues

    Looks like tabs?

  5. 
      
grim
QuLogic
  1. Ship It!
  2. 
      
grim
Review request changed
Status:
Completed