Giter VIP home page Giter VIP logo

grip's People

Contributors

bostrt avatar cassella avatar dwest avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

grip's Issues

Crash on 64-bit arch

grip crashes on x86_64 as follows. The reason is tray.c MakeTrayIcon()'s lack of a prototype for Loadxpm() here, resulting in Loadxpm()'s return value being truncated to a 32-bit signed int before being cast to a 64-bit pointer:

    img = (GtkWidget*)Loadxpm(uinfo->app, menunext_xpm);
    mentry = (GtkWidget*)BuildMenuItemXpm(img, _("Next"));

The backtrace:

Core was generated by `src/grip'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f3cf76399cb in IA__gtk_widget_set_parent (widget=widget@entry=0xffffffffd4003d10,

```
parent=parent@entry=0x9de160) at /build/buildd/gtk+2.0-2.24.27/gtk/gtkwidget.c:6419
```

6419    /build/buildd/gtk+2.0-2.24.27/gtk/gtkwidget.c: No such file or directory.
(gdb) i s
#0  0x00007f3cf76399cb in IA__gtk_widget_set_parent (widget=widget@entry=0x-2bffc2f0, parent=parent@entry=0x9de160 [GtkImageMenuItem]) at /build/buildd/gtk+2.0-2.24.27/gtk/gtkwidget.c:6419
#1  0x00007f3cf74ffe48 in IA__gtk_image_menu_item_set_image (image_menu_item=0x9de160 [GtkImageMenuItem], image=0x-2bffc2f0) at /build/buildd/gtk+2.0-2.24.27/gtk/gtkimagemenuitem.c:935
#2  0x0000000000422e51 in BuildMenuItemXpm (xpm=0x-2bffc2f0, text=0x433a88 "Next") at uihelper.c:103
#3  0x000000000042b38b in MakeTrayIcon (ginfo=0x7f3cf7e08010) at tray.c:206
#4  0x000000000042a999 in UpdateTray (ginfo=0x7f3cf7e08010) at tray.c:63
#5  0x000000000040a238 in GripUpdate (app=0x78f020 [GnomeApp]) at grip.c:737
#6  0x0000000000407e63 in TimeOut (data=0x0, data@entry=)

```
at main.c:228
```
#7  0x00007f3cf66425e3 in g_timeout_dispatch (source=0x8bf800, callback=, user_data=) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:4545
#8  0x00007f3cf6641b4d in g_main_context_dispatch (context=0x7567a0)

```
at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3122
```
#9  0x00007f3cf6641b4d in g_main_context_dispatch (context=context@entry=0x7567a0)

```
at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3737
```
#10 0x00007f3cf6641f20 in g_main_context_iterate (context=0x7567a0, block=block@entry=1, dispatch=dispatch@entry=1, self=) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3808
#11 0x00007f3cf6642242 in g_main_loop_run (loop=0x741760) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:4002
#12 0x00007f3cf7518857 in IA__gtk_main () at /build/buildd/gtk+2.0-2.24.27/gtk/gtkmain.c:1282
#13 0x0000000000407db3 in Cmain (argc=1, argv=0x7fffa4c20b28) at main.c:192
#14 0x00007f3cf5088a40 in __libc_start_main (main=

```
0x4079a0 , argc=1, argv=0x7fffa4c20b28, init=, fini=, rtld_fini=, stack_end=0x7fffa4c20b18) at libc-start.c:289
```
#15 0x00000000004079d9 in _start ()

grip confused about disc status when drive doesn't support audio playback

In CDStat(), using CDROMSUBCHNL:

If the CD drive doesn't support audio playback, the ioctl(CDROMSUBCHNL) returns cdsc.cdsc_audiostatus == 0 (CDROM_AUDIO_INVALID).

The switch(cdsc.cdsc_audiostatus) doesn't include a case for this, so we leave disc->disc_mode unchanged, generally 0, which is CDAUDIO_PLAYING.

Then grip always thinks the CD is playing, with two effects that I've noticed:

  1. Upon inserting a disc, grip displays it as playing for a few seconds, seemingly advancing about 4 seconds every second.
  2. When you click on a track name, grip tries to start it playing (SelectionChanged() if(disc_mode==CDAUDIO_PLAYING).) It does eventually figure out that it's not playing and reselects track 0.

Even though the drive doesn't support playback, grip can still be used for ripping. But point 2 above prevents you from editing the track info via the GUI.

Upstream is alive

Stumbled across this repo by accident today, and just wanted to say that development on the original SourceForge project was restarted in 2017, by myself.
Last release was in august 31, 2021. :-)

Config File Saving and Loading is Handled Poorly

It basically reads a list of variables from a define and copies those variables from a struct into a file (or the reverse for loading). This would be much better handled through gconf. Make it happen.

Grip cannot eject cd when automounted by Gnome

When a CD is inserted in computer and Gnome automounts it, Grip cannot eject it. This is due to the use of ioctl function calls instead of asking Gnome to eject the CD for us. Use GIO.

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.