Giter Site home page Giter Site logo

Comments (10)

Agalin avatar Agalin commented on June 9, 2024

Somebody tried! 🥳
And a little more seriously: I really don't have time to fix this till ~15 of July.
Installation way is standard.
Are you running pidgin only from command line? Is it crashing when run through bundle too? Any plugins modifying windows (like merged buddy list + conversations)?
If it is crashing in bundled version then I suspect config reading routine. Try removing plugin config from prefs.xml, enable plugin and select ANY sound in its preferences. I'm currently running latest master (even built it with Swift 5 + optimization flags + release mode to shrink binary to 290KB from ~10MB) so it's possible to have quite stable experience.

from pidgin_macos_integration.

kgraefe avatar kgraefe commented on June 9, 2024

No additional plugins, no non-default settings. In fact I just installed Pidgin through brew and don't even set up any accounts. The bundled version crashes as well.

I will try your suggestion tomorrow. Is it possible to debug the plugin? (I know a thing or two about Pidgin but I am new to MacOS and its different programming languages.)

from pidgin_macos_integration.

Agalin avatar Agalin commented on June 9, 2024

It's possible at runtime (by attaching to Pidgin process), not sure about startup debugging or attaching while plugin is not yet loaded.

from pidgin_macos_integration.

Agalin avatar Agalin commented on June 9, 2024

Hmm... I'm not able to replicate startup crash even after removing my plugin config entirely.
I've added my binary as release. Can you try with it (MacOS 10.14.4+ required)?
Can you confirm existence of those directories?

  • "/System/Library/Sounds"
  • "/Library/Sounds"
  • "~/Library/Sounds"

from pidgin_macos_integration.

kgraefe avatar kgraefe commented on June 9, 2024

I am running MacOS 10.14.5. /Library/Sounds does not exists.

from pidgin_macos_integration.

kgraefe avatar kgraefe commented on June 9, 2024

Starting Pidgin with pidgin -d reveals a problem but I don't think it's crashing here:

(11:54:50) plugins: Loading saved plugin /Users/kgraefe/.purple/plugins/macos-integration.so
(11:54:50) macos: Load

Initialization
(11:54:50) macos: Initialization

Load
(11:54:50) macos: Load

selfPtr: Optional(0x00007fc88070f440)
(11:54:50) macos: selfPtr: Optional(0x00007fc88070f440)
(11:54:50) macos: Registering callback receiving-im-msg for conversation...
(11:54:50) macos: Registered
(11:54:50) macos: Registering callback receiving-chat-msg for conversation...
(11:54:50) macos: Registered
(11:54:50) macos: Registering callback displayed-im-msg for conversation...
(11:54:50) signals: Signal data for displayed-im-msg not found!
(11:54:50) macos: Registered
(11:54:50) macos: Registering callback displayed-chat-msg for conversation...
(11:54:50) signals: Signal data for displayed-chat-msg not found!
(11:54:50) macos: Registered
Fatal error: Unexpectedly found nil while unwrapping an Optional value
Illegal instruction: 4

The signals displayed-im-msg and displayed-chat-msg are not from issued from the libpurple conversation instance but from the Pidgin conversation instance. Therefore you should use pidgin_conversations_get_handle() instead of purple_conversations_get_handle() for those signals.

from pidgin_macos_integration.

kgraefe avatar kgraefe commented on June 9, 2024

It is crashing here:

let blistMenu = gtk_widget_get_parent(pidgin_blist_get_default_gtk_blist()!.pointee.menutray)

I guess the Buddy List is not yet initialized when the plugin is load and therefore pidgin_blist_get_default_gtk_blist() returns NULL.

from pidgin_macos_integration.

kgraefe avatar kgraefe commented on June 9, 2024

I am not sure why it's working for you. The plugins are loaded before the Buddy list created (and that's why it's working when loaded manually). You should listen to the gtkblist-created signal when the Buddy list is not yet initialized. (see e.g. my birthday reminder plugin)

from pidgin_macos_integration.

kgraefe avatar kgraefe commented on June 9, 2024

I just saw that you're already listening to that signal, so the fix was easy enough (even without knowing Swift). It is working for me now. :-)

from pidgin_macos_integration.

Agalin avatar Agalin commented on June 9, 2024

There must be some conditions that make plugins load after buddy list - it literally never crashes on my system.
Thanks for the fix. :)

from pidgin_macos_integration.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.