Rotor Control window displays with missing knob(s) and crashes when tracking.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 60/100
Línea de trabajo
El error está en la función gtk_rot_knob_update, donde el búfer local b tiene un tamaño demasiado pequeño para la salida de g_ascii_formatd y para el bucle de etiquetas de dígitos. Empieza comparando el tamaño del búfer, el ancho de formato pasado a g_ascii_formatd y el límite del bucle, y luego comprueba que los índices de las etiquetas sigan coincidiendo con knob->digits. Está terminado cuando los mandos Az y El aparecen al abrir Rotor Control y siguen actualizándose durante el seguimiento, sin desbordamiento.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I am new to GPredict and wanted a new compile (post 3.2.37) in order to avoid wrap around tracking. I followed directions for installing MSYS2 and with only minor fussing was able to compile for windows. The program appears generally in good order (some config defaults seem off). The main issue is that when I open Rotor Control, the Az/El knobs don't show up (Az is always missing, El is usually missing). I've tracked this down to the length of the b[7] array definition, which I believe should be 8. Just to be extra safe I set it to b[9] (not familiar with g_ascii_formatd and termination etc.) and it appears to work as intended on initial opening and tracking updates.
static void gtk_rot_knob_update(GtkRotKnob * knob)
{
gchar b[7]; //<-------- Here
gchar *buff;
guint i;
g_ascii_formatd(b, 8, "%6.2f", fabs(knob->value));
/* set label markups */
for (i = 0; i < 6; i++)
{
buff = g_strdup_printf(FMTSTR, b[i]);
gtk_label_set_markup(GTK_LABEL(knob->digits[i + 1]), buff);
g_free(buff);
}
if (knob->value < 0)
buff = g_strdup_printf(FMTSTR, '-');
else
buff = g_strdup_printf(FMTSTR, ' ');
gtk_label_set_markup(GTK_LABEL(knob->digits[0]), buff);
g_free(buff);
}
- Lenguaje dominante
- C
- Estrellas
- 1.2k
- Forks
- 305
- Merge medio
- 8 h 48 min
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de csete/gpredict
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 78/100
-
rotator
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
Todos los issues de csete/gpredict
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
FujiNetWIFI/fujinet-firmware#2079 ·
Los mantenedores suelen responder en 1 día
-
Missing options in yara man pageAbiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
VirusTotal/yara#2255 ·
-
Add SupportsTransactions flagAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
state:needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
zed-industries/zed#65836 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
neutralinojs/neutralinojs#1861 ·
Los mantenedores suelen responder en 1 día