domingo, 16 de mayo de 2010

Bug de Firefox ... ¡¡ Por fin !!

Pues sí, es cierto, por fín se acaba de corregir el bug que más quebraderos de cabeza, más preguntas y más impaciencias ha causado a lo largo de todo el proyecto.


Un bug con más de 4 años de antigüedad. El Bug de ReactOS. El Bug Insignia. El Bug de los Bugs:


A partir de este momento, ya no será necesario mover el ratón cada vez que queramos navegar en Firefox.


¿Que no sabes a que nos referimos? Pásate por esta entrada: Bug de Mover el Ratón





"El commit"


Este Bug en Firefox se había convertido en "El Bug de ReactOS".La importancia de este Bug ya no solo residía en conseguir que Firefox funcionara correctamente en ReactOS, sino que demostraba que ReactOS no implementaba ni trataba correctamente la cola de mensajes. La única manera de resolverlo era una reescritura parcial ( o tal vez total) de la misma con la complejidad que ello conlleva.

Y, como no podía ser de otra manera, mjmartin se ha encargado de eliminar este Bug de una vez por todas:

Commit by mjmartin :: r47226 reactos/subsystems/win32/win32k/ (5 files in 3 dirs):



[win32k]

  • Change the first parameter type from HWND to PWINDOW_OBJECT for IntKillTimer as it makes more sense. Activate IntSetTimer, already done by James.

  • Add flag TMRF_DELETEPENDING. Destroy timers when this flag is set in ProcessTimers to allow any timers that have expired to have the WM_SYSTIMER/WM_TIMER messages posted to message queue before being destroyed.

  • Fix error in FindTimer, it was always returning a Timer and it needed to return NULL if the specified timer did not exist.

  • Fix error in PostTimerMessages, need to handle cases where the Window object is NULL which occurs when requesting messages for any window belonging to the thread.

  • In co_IntPeekMessage, simply call PostTimerMessages to have WM_SYSTIMER/WM_TIMER messages posted for expired timers. Remove call to old timer message handling.

  • TODO: Code using the old timer implementation needs removed.

  • Fixes bugs #2393, #3634, #2835. Commit dedicated to JT and Mr. Roboto.





Timers


El Commit arregla errores tanto en los Timers, que no estaban implementados correctamente,como en el procesado de los mensajes.


Teniendo en cuenta que Windows y ReactOS se basan en mensajes, este Commit debería resolver unos cuantos bugs debida a la implementación errónea.


Por ello este Commit no solo resuelve el Bug de Firefox (bug #2393 ), sino también un bug con Ópera 9.X(ahora ya puedes usar Ópera para navegar por internet)(bug #2835) y Putty(que no mostraba nada por pantalla si no movías el ratón) (bug #3634)


Este Commit es considerado crítico, por lo que sus efectos positivos (y las posibles regresiones que pueda causar) las iremos sintiendo en los próximos días.


Hemos arreglado mucho pero aún queda mucho por arreglar! Seguiremos informando :)


15 comentarios:

  1. [...] Corregido un bug con más de 4 años de antigüedad en ReactOS que no permitia navegar correctamente... reactos.wordpress.com/2010/05/16/bug-de-firefox-%c2%a1%c2%a1...  por difusion hace 2 segundos [...]

    ResponderEliminar
  2. ¡Grandes noticias! Gran trabajo el que se está realizando intentando resolver estas regresiones críticas. Una empresa dura, pero necesaria.

    Gracias por la información.

    ResponderEliminar
  3. Me alegra saber que el proyecto avanza. Tengo unas ganas enormes de probar la beta, aunque ya hace tiempo que cambió el roadmap y ahora no sé cuánto faltará.

    ResponderEliminar
  4. Me parece interesante este blog, pero a ver si aprendemos algo de gramática, porque:

    Bug de Firefox … ¡¡ Por fin !!

    Esa manera de colocar los espacios es realmente inexplicable. Por otra parte, a ver si no pones mayúsculas aleatoriamente, haz el favor. Sólo llevan mayúscula los nombres propios y los principios de frase.

    ResponderEliminar
  5. Muy buenas Anónimo :)
    Los Roadmaps son bastante difíciles de seguir, ni tan siquiera empresas como Windows son capaces de seguir sus propios Roadmaps sin que sufran retrasos, pero la 0.4 ya está bastante cerca. Tras el último atracón (más de 20 bugs críticos resueltos en el último mes) casi podemos decir que la versión 0.4 la podemos rozar con los dedos. Como somos bastante críticos con nuestro SO es posible que tras la 0.3.12 venga la 0.3.13 aunque solo sea para checkear que todos los parches a los bugs críticos no han introducido regresiones.
    Con retrasos y sin apoyo de compañias(que nos facilitaría la labor) seguimos trabajando en este SO.
    Gracias por leernos :)

    ResponderEliminar
  6. Cierto Yep.
    Nos encantaría poder dedicar todo nuestro tiempo a este Blog, ser cuidadosos con la ortografía, la gramática e incluso mejorar el formato.Sin embargo, este blog es escrito por autores procedentes del mundo tecnológico cuya herramienta más preciada es el corrector ortográfico de OpenOffice,Windows Live Writer y Microsoft Office. Y yo, particularmente, tengo la manía de resaltar las palabras clave empezándolas con mayúscula.Disculpadme.
    Ojalá pudiéramos darle todo el mimo que se merece, pero para que empezara a salir rentable el tiempo dedicado a la creación+revisión,tendríamos que plantearnos la inclusión de Banners, PopUps,y otros Anuncios.(Mierda, volví a meter las Mayúsculas). Actualmente cada post se lleva más de 1 hora para ser redactado(tomar screenshots de la aplicación, recopilar datos del bug, checkear información MSDN, hablar con los developers, etc...).
    Por fortuna para vuestros ojos nunca veréis "bamos","he hexado de -",y otras lindeces bloguiles.
    De todas formas tomaremos nota de la crítica constructiva e intentaré no liarla mucho con las mayúsculas pero esto es como dejar de fumar...cuando ya has cogido el vicio....no hay quien te lo quite :)
    PD: Si yo me lio con las mayúsculas, no te digo nada la que lio con las comas. :)

    ResponderEliminar
  7. Buenas reactos,

    Mucha gente no se da cuenta que crear los post periodicamente cuesta su tiempo, que el tiempo (libre) no es infinito y que además de todo eso, hay que "hacer el software".

    Por mi parte seguid haciendolo tan bien como hasta ahora. Haceis un gran aporte a la comunidad ReacOS.

    Saludos

    ResponderEliminar
  8. Una pregunta, este bug tambien existia en arwinss? porque si se solucionó fuera del subsistema tambien debe afectar a ambos...

    ResponderEliminar
  9. En lo personal no me molesta el estilo de escribir mientras sea claro y no metas verdaderas burradas (p. e. “bamos”), preferible usar ese tiempo y esfuerzo en el proyecto de reactos que en “superficialidades esteticas”. Y al que no le guste nadie lo detiene para que haga su propio blog a su gusto. De paso tengo una duda, existe soporte de reactos para wifi? digo porque me conecto a la red mediante una tarjeta pci wireless y quisiera saber si con reactos tambien se puede o no y como le podria hacer? Gracias hasta la prox.

    ResponderEliminar
  10. En todo caso, Yep tiene razón pero, creo que tampoco hay que ser un fundamentalista en la aplicación de nuestra lengua materna ( y por qué no paterna, ah??), si el sentido de la idea no se pierde y tampoco se cae en esos "bestialismos" que normalmente se ve por estos lares de la comunicación digital.

    ResponderEliminar
  11. Muy bien muchachos, Felicidades

    Con estos importantes avances parece que el 2010 va a ser el año de reactos para los 2 sub-sistemas.

    ResponderEliminar
  12. Muy buenas kurilonko,
    Tal como contesté a Yep, he tomado nota de su crítica constructiva para intentar mejorar el Blog, pero tal y como le contesté también, prefiero dedicar mi tiempo a mejorar ReactOS, buscar información y reescribirla (para que el común de los mortales pueda enterarse) que crear un blog capaz de superar todas las pruebas de la RAE.
    Si este Blog se llamara "Gramática y ortografía en España", "El Blog de la Lengua española" o su temática fuera la de enseñar las reglas gramaticales y ortográficas, entonces entiendo que todo el contenido debería ser revisado con lupa hasta la más mínima coma.
    Sin embargo, este es el "Blog de ReactOS", de un Sistema Operativo, por lo que entiendo que el nivel de exigencia gramatical y morfosintáctico puede ser mas relajado. Relajado hasta un punto, pero relajado.
    :)
    Gracias a todo por vuestros comentarios, me marcho a la cama que este mes va a ser duro en ReactOS y cargado de sorpresas :)

    ResponderEliminar
  13. Muchas gracias,
    Realmente eso esperamos. Crucemos los dedos. :)

    ResponderEliminar
  14. [win32k]

    Julcar , tal y como viene ahi el fallo parece estar en el subsistema no en el nucleo , mas en concreto parece en el win32k.sys.

    ResponderEliminar