dwest / grip Goto Github PK
View Code? Open in Web Editor NEWGrip is dead, long live grip!
License: GNU General Public License v2.0
Grip is dead, long live grip!
License: GNU General Public License v2.0
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 ()
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.
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.
See gnome docs. popt is deprecated, we need to start using GOption. Needs to be changed around main.c:39 and main.c:164
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. :-)
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:
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.
According to http://library.gnome.org/devel/references GNOME UI is heading towards planned deprecation. The link also states that many of the widgets from libgnomeui have been ported to GTK+. We need to convert all widgets over to GTK+ and remove libgnomeui as a dependency.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.